안녕하세요 ㅠ
mybatis공부중인데
아래와 같이 에러가 뜨네요 ㅠ
타입 예외 보고
메시지 행 [22]에서 [/ex02.jsp]을(를) 처리하는 중 예외 발생
설명 서버가, 해당 요청을 충족시키지 못하게 하는 예기치 않은 조건을 맞닥뜨렸습니다.
예외
org.apache.jasper.JasperException: 행 [22]에서 [/ex02.jsp]을(를) 처리하는 중 예외 발생
19: SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build( is );
20: System.out.println( "설정 성공" );
21:
22: sqlSession = sqlSessionFactory.openSession( true );
23:
24: DeptTO to = (DeptTO)sqlSession.selectOne( "select1" );
25:
코드는 다음과 같습니다!
-context.xml
<?xml version="1.0" encoding="utf-8" ?>
<Context>
<Resource
name = "jdbc/mariadb1"
auth = "Container"
type = "javax.sql.DataSource"
driverClassName = "org.mariadb.jdbc.Driver"
url = "jdbc:mariadb://localhost:3307/sample"
username = "root"
password = "!123456"
/>
</Context>
-myBatisConfig.xml
<?xml version= "1.0" encoding ="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 데이터베이스 연결 설정 -->
<configuration>
<environments default="maraidb2">
<environment id="maraidb1">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="org.mariadb.jdbc.Driver" />
<property name="url" value="jdbc:mariadb://localhost:3307/sample" />
<property name="username" value="root" />
<property name="password" value="!123456"/>
</dataSource>
</environment>
<environment id="mariadb2">
<transactionManager type="JDBC" />
<dataSource type="JNDI">
<property name="data_source" value="java:comp/env/jdbc/mariadb1" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="model1/dept.xml"/>
</mappers>
</configuration>
-ex02.jsp (실행jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.IOException" %>
<%@ page import="java.io.InputStream" %>
<%@ page import="org.apache.ibatis.io.Resources" %>
<%@ page import="org.apache.ibatis.session.SqlSession" %>
<%@ page import="org.apache.ibatis.session.SqlSessionFactory" %>
<%@ page import="org.apache.ibatis.session.SqlSessionFactoryBuilder" %>
<%@ page import="model1.DeptTO" %>
<%
String resource = "myBatisConfig.xml";
InputStream is = null;
SqlSession sqlSession = null;
try {
is = Resources.getResourceAsStream( resource );
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build( is );
System.out.println( "설정 성공" );
sqlSession = sqlSessionFactory.openSession( true );
DeptTO to = (DeptTO)sqlSession.selectOne( "select1" );
System.out.println( to.getDeptno() );
System.out.println( to.getDname() );
} catch( IOException e ) {
System.out.println( "에러 : " + e.getMessage() );
} finally {
if( is != null ) is.close();
}
%>
데이터베이스 직접연결하면(environments default="maraidb1"일 때) 실행이 잘 되는데
커넥션풀(environments default="maraidb2"일 때)하면 계속
sqlSession = sqlSessionFactory.openSession( true );
위 구문에서 nullpointerexception 에러가 나오네요 ㅠㅠ 어떻게 수정해야되는지 조언 부탁드립니다.!