一.在src目录或者resource目录下创建mybatis.xml文件,mybatis.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="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/hmb/domain/StudentMapper.xml"/> </mappers> </configuration>
二.创建MybatisUtil.java工具类(获取Sqlsession,关闭SqlSession),内容如下:
package com.hmb.util; import java.io.IOException; import java.io.Reader; import java.sql.Connection; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; /** * MyBatis工具类 并测试与数据库是否能连接 * @author EDZ * */ public class MyBatisUtil { private static ThreadLocal<SqlSession> threadLocal = new ThreadLocal<SqlSession>(); private static SqlSessionFactory sqlSessionFactory; static { try { //加载mybatis.xml配置文件,获取数据库的连接信息 Reader reader = Resources.getResourceAsReader("mybatis.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); } } private MyBatisUtil() {} //获取SqlSession public static SqlSession getSqlSession() { //1.先获取SqlSession对象 SqlSession sqlSession = threadLocal.get(); //2.判断是否为null if(sqlSession == null) { //从mybatis.xml文件中获取sqlSession对象 sqlSession = sqlSessionFactory.openSession(); //设置对象到本地线程变量中 threadLocal.set(sqlSession); } return sqlSession; } //关闭SqlSession public static void closeSqlSession() { SqlSession sqlSession = threadLocal.get(); if(sqlSession != null) { sqlSession.close(); threadLocal.remove(); } } }
三.测试.
public static void main(String[] args) { //通过SqlSession获取数据库连接 Connection connection = MyBatisUtil.getSqlSession().getConnection(); System.out.println(connection != null ? "连接成功" : "连接失败"); }