MyBatis的核心配置
MyBatis的核心对象
MyBatis的核心对象有两个:一个是用来创建会话对象的SqlSessionFactory对象,另一个是用来执行SQL语句的SqlSession对象。
SqlSessionFactory对象
SqlSessionFactory对象的主要作用就是用来创建SqlSession对象。通常SqlSessionFactory对象由SqlSessionFactoryBuilder对象来构建
//读取配置文件
InputStream input = Resources.getResourceAsStream("配置文件位置");
//创建SqlSessionFactory对象
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(input);
SqlSessionFactory对象是线程安全的,一旦被创建,整个应用期间都会存在,通常每一个数据库只会对应一个SqlSessionFactory,所以构建对象时建议使用单例模式
SqlSession对象
SqlSession对象,主要作用执行SQL语句,完成持久化操作。底层封装了JDBC连接,所以可以直接使用其实例来执行映射文件中的SQL语句。
//SqlSessionFactory对象sessionFactory
//创建SqlSession对象
SqlSession sqlSession = sessionFactory.openSession();
try{
//此处执行操作
}finally{
//及时关闭SqlSession
sqlSession.close();
}
SqlSession对象的方法
- selectOne(String statement,Object parameter):statement是映射文件中定义的< select>元素的id。parameter是查询需要的参数。返回一条记录的泛型对象。
- selectList(String statement,Object parameter):返回SQL语句查询结果的泛型对象List集合
- insert(String statement,Object parameter):返回执行insert语句影响的记录行数
- update(String statement,Object parameter):返回执行update语句影响的记录行数
- delete(String statement,Object parameter):返回执行delete语句影响的记录行数
- commit():若执行的对表中记录有所更改的语句,需要commit()提交一下事务。
- rollback():回滚事务
- close():关闭事务
创建SqlSession对象的工具类
- 创建配置文件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>
<!--配置环境,默认环境为mysql-->
<environments default="mysql">
<!--配置id为mysql的数据库环境-->
<environment id="mysql">
<!--配置事务管理器-->
<transactionManager type="JDBC"/>
<!--配置数据源-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name