★学习目标:
1.了解核心对象的作用
2.熟悉配置文件中各个元素的作用
★思考任务:
1、什么是sqlsession?
2、sqlsession有哪些方法?
★任务学习
★知识要点:
1.什么是SqlSession?
•SqlSession是MyBatis框架中另一个重要的对象,它是应用程序与持久层之间执行交互操作的一个单线程对象,其主要作用是执行持久化操作。
使用完SqlSession对象后要及时关闭,通常可以将其放在finally块中关闭。
SqlSessionsqlSession = sqlSessionFactory.openSession();
try {
// 此处执行持久化操作
}finally {
sqlSession.close();
}
2.SqlSession中的方法
查询方法:
<T>T selectOne(String statement);
<T>T selectOne(String statement, Object parameter);
<E>List<E> selectList(String statement);
<E>List<E> selectList(String statement, Object parameter);
<E>List<E> selectList(String statement, Object parameter, RowBoundsrowBounds);
voidselect(String statement, Object parameter, ResultHandler handler);
插入、更新和删除方法:
intinsert(String statement);
intinsert(String statement, Object parameter);
intupdate(String statement);
intupdate(String statement, Object parameter);
intdelete(String statement);
intdelete(String statement, Object parameter);
其他方法:
voidcommit(); 提交事务的方法。
voidrollback(); 回滚事务的方法。
voidclose(); 关闭SqlSession对象。
<T>T getMapper(Class<T> type); 返回Mapper接口的代理对象。
ConnectiongetConnection(); 获取JDBC数据库连接对象的方法。
3.多学一招:使用工具类创建SqlSession
为了简化开发,通常在实际项目中都会使用工具类来创建SqlSession。
public class MybatisUtils {
private static SqlSessionFactorysqlSessionFactory = null;
static {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (Exception e) {
e.printStackTrace();
}
}
public static SqlSessiongetSession() {
return sqlSessionFactory.openSession();
}
}

