封装 Mybatis工具类
package com.util;
import java.io.IOException;
import java.io.InputStream;
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 MybatisUtil {
private static SqlSessionFactory sessionFactory;
private static ThreadLocal<SqlSession> tol = new ThreadLocal<SqlSession>();
static {
InputStream is =null;
try {
is = Resources.getResourceAsStream("mybatis-config.xml");
sessionFactory = new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static SqlSession getSqlSession(){
SqlSession sqlSession = tol.get();
if(sqlSession == null){
try{
sqlSession = sessionFactory.openSession();
tol.set(sqlSession);
return sqlSession;
}catch(Exception e){
e.printStackTrace();
}
}
return sqlSession;
}
public static void close(){
SqlSession sqlSession=getSqlSession();
tol.remove();
sqlSession.close();
}
}
配置 mybatis-config.xml文件 给实体类起别名 提取数据库连接参数到小配置文件 并开启二级缓存
jdbc.properties
driver = oracle.jdbc.OracleDriver
url = jdbc:oracle:thin:@localhost:1521:xe
user = hr
password =hr
mybatis-config.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>
<!-- 读入小配置文件 -->
<properties resource="jdbc.properties"></properties>
<!-- 开启二级缓存(以及缓存默认打开) 如需要在具体的mapper文件中使用缓存 加一对<cache></cache> 标签即可 -->
<settings>
<setting name="cacheEnabled" value="true"/>
</settings>
<!-- 给实体类起别名 -->
<typeAliases>
<typeAlias type="com.entity.Empl1" alias="Empl1" />
<typeAlias type="com.entity.Identification" alias="Identification"/>
</typeAliases>
<environments default="oracle">
<environment id="oracle">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${user}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 管理mapper文件 -->
<mappers>
<mapper resource="com/dao/Emp1DaoImpl3.xml"/>
<mapper resource="com/dao/IdentificationDaoImpl3.xml"/>
<mapper resource="com/empdaotest/Emp1DaoImplTest.xml" />
</mappers>
</configuration>