1.配置xml–Mybatis配置
<?xml version="1.0" encoding="UTF-8" ?>5.mapping的sql.xml数据库配置映射器
约束头
6.dao包中的接口所需查询的sql语句
public interface SysUserMapper {
//查询全部用户数据
List selectAll();
}
7.Util配置属性的获取,sqlsession的获取,对接dao中的数据接收重新定义属性
/*
SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由对它进行清除或重建。
使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次,多次重建 SqlSessionFactory 被视为一种代码“坏味道(bad smell)”。
因此 SqlSessionFactory 的最佳范围是应用范围。
有很多方法可以做到,最简单的就是使用单例模式或者静态单例模式。
*/
private static SqlSessionFactory sqlSessionFactory =null;
static{
try {
Properties properties=new Properties();
String resource = “mybatis-conf.xml”;//MyBatis的核心配置文件路径
InputStream inputStream = Resources.getResourceAsStream(resource);//
sqlSessionFactory = new SqlSessionFactoryBuilder()
}catch (IOException e){
e.printStackTrace();
}
}
/**
- 获取SqlSession
- 默认不自动提交,开启JDBC事务
- @return SqlSession
*/
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
/**
- 获取SqlSession
- @param autoCommit 是否自动提交
- @return SqlSession
*/
public SqlSession getSqlSession(boolean autoCommit){
return sqlSessionFactory.openSession(autoCommit);
}
/**
- 提交&释放资源
*/
public static void commitAndClose(SqlSession sqlSession){
if (sqlSession !=null){
sqlSession.commit();
sqlSession.close();
}
}
/**
- 回滚&释放资源
*/
public static void rollbackAndClose(SqlSession sqlSession){
if (sqlSession !=null){
sqlSession.rollback();
sqlSession.close();
}
}
8.测试sql的查询,获取到关闭
public static void main(String[] args) {
// 1、获取SqlSession
SqlSession sqlSession = MybatisUtils.getSqlSession();
try {
//2.获取Mapper接口
SysUserMapper sysUserMapper = sqlSession.getMapper(SysUserMapper.class);
List sysUsers = sysUserMapper.selectAll();
for (SysUser user:sysUsers){
System.out.println(user);
}
}finally {
sqlSession.close();//关闭获取的sqlsession
}