獲取sqlsession時的空指針異常
DBAccess代碼:
package?icoc.jmteam.TestOfMybatis.dao;
import?java.io.IOException;
import?java.io.Reader;
import?org.apache.ibatis.io.Resources;
import?org.apache.ibatis.session.SqlSession;
import?org.apache.ibatis.session.SqlSessionFactory;
import?org.apache.ibatis.session.SqlSessionFactoryBuilder;
public?class?DBAccess?{
private?static?Reader?reader;
private?static?SqlSessionFactory?sessionFactory;
private?static?SqlSession?session;
public?static?SqlSession?getSession()?throws?IOException{
//通過配置文件獲取數據庫鏈接相關信息(配置文件放在src下)
reader=Resources.getResourceAsReader("Configuration.xml");
//通過配置信息構建SqlSessionFactory
sessionFactory=new?SqlSessionFactoryBuilder().build(reader);
//打開會話SqlSession
session=sessionFactory.openSession();
return?session;
}
private?DBAccess(){}
}測試獲取鏈接類
package?icoc.jmteam.TestOfMybatis.dao;
import?java.io.IOException;
import?org.apache.ibatis.session.SqlSession;
public?class?MybatisTest?{
SqlSession?session;
public?void?TestToConnect(){
try?{
session=DBAccess.getSession();
if(session!=null){
System.out.println("創建會話成功");
}else{
System.out.println("創建會話失敗");
}
}?catch?(IOException?e)?{
System.out.println("異常,創建會話失敗");
}finally{
session.close();
System.out.println("會話已關閉");
}
}
public?static?void?main(String?args[]){
new?MybatisTest().TestToConnect();
}
}異常信息如下:
SLF4J:?Class?path?contains?multiple?SLF4J?bindings. SLF4J:?Found?binding?in?[jar:file:/C:/Users/Howard/MyEclipse/work_spaces/TestOfMybatis/WebRoot/WEB-INF/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:?Found?binding?in?[jar:file:/D:/My%20Projects/%e5%b7%a5%e5%85%b7%e7%ae%b1/Mybatis%e6%a0%b8%e5%bf%83jar%e5%8c%85/mybatis-3.3.0/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:?See?http://www.slf4j.org/codes.html#multiple_bindings?for?an?explanation. SLF4J:?Actual?binding?is?of?type?[org.slf4j.impl.Log4jLoggerFactory] Exception?in?thread?"main"?java.lang.NullPointerException at?icoc.jmteam.TestOfMybatis.dao.MybatisTest.TestToConnect(MybatisTest.java:21) at?icoc.jmteam.TestOfMybatis.dao.MybatisTest.main(MybatisTest.java:30)
2016-02-24
也遇到了。。
2015-09-19
配置文件正確么?數據庫啟動了么?