配置数据源,编写工具类
之前的代码都需要用到utils所以建议大家先看完再写代码
Mybatis.java实现开启session工厂和关闭工厂,单独写方便调用 。
工具类
package utils;
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 Mybatis {
private static SqlSessionFactory sessionFactory = null;
static {
try {
InputStream is = Resources.getResourceAsStream("Mybatis-config.xml");
sessionFactory = new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
/*
* 开启session工厂
*/
public static SqlSession getSqlSession() {
return sessionFactory.openSession(true);
}
/*
*关闭session工厂
*/
public static void closeSqlsession(SqlSession sqlSession) {
if(sqlSession != null)
sqlSession.close();
}
}
连接数据库和配置Mybatis-config.xml
我们使用层c3p0配置数据源
Mybatis-config.xml和database.properties都直接创建在src下
<?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="database.properties"/>
<!-- 打印sql语句 -->
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<!-- 配置别名 -->
<!-- <typeAliases>
<typeAlias type="entity.User" alias="User"/>
</typeAliases> -->
<typeAliases>
<package name="entity"/>
</typeAliases>
<environments default="development">
<environment id="development">
<!--事物管理器 -->
<transactionManager type="JDBC" />
<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>
<mappers>
<mapper resource="dao/UserMapper.xml" />
<mapper resource="dao/AddressMapper.xml" />
<mapper resource="dao/RoleMapper.xml" />
</mappers>
</configuration>
配置database.properties