获取sqlsession时的空指针异常

来源:3-1 Mybatis 的下载并搭建核心架构

HR_Alan

2015-09-18 21:41

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回答

  • 水田如雅
    2016-02-24 15:29:21

    也遇到了。。

    好难受啊 回复慕后端760...

    说的好

    2018-07-30 17:36:38

    共 2 条回复 >

  • _潇潇暮雨
    2015-09-19 11:03:46

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

    HR_Ala...

    都正确,今天早上弄了一下没问题了,原来是log4j没有配置好

    2015-09-19 18:13:25

    共 1 条回复 >

通过自动回复机器人学Mybatis---基础版

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

107412 学习 · 786 问题

查看课程

相似问题

空指针异常

回答 2

空指针异常

回答 1

空指针异常

回答 3

空指针异常

回答 1

空指针异常

回答 1