为了账号安全,请及时绑定邮箱和手机立即绑定

获取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)


正在回答

2 回答

也遇到了。。

0 回复 有任何疑惑可以回复我~
#1

慕后端7608854

跟老师一样 把配置文件中的不认识的注释掉就没事了
2016-03-14 回复 有任何疑惑可以回复我~
#2

好难受啊 回复 慕后端7608854

说的好
2018-07-30 回复 有任何疑惑可以回复我~

配置文件正确么?数据库启动了么?

0 回复 有任何疑惑可以回复我~
#1

HR_Alan 提问者

都正确,今天早上弄了一下没问题了,原来是log4j没有配置好
2015-09-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
通过自动回复机器人学Mybatis---基础版
  • 参与学习       107417    人
  • 解答问题       786    个

微信公众号自动回复功能学习Mybatis,基础教程加案例实战方式学习

进入课程

获取sqlsession时的空指针异常

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信