(一)Mybatis的核心对象SqlSession解析(这里是直接使用Mybatis,与Spring结合的Mybatis使用上略有不同)
SqlSession的作用:
1、向 SQL 语句传入参数
2、执行SQL语句
3、获取执行SQL语句的结果
4、事务的控制
如何得到SqlSession:
1、通过配置文件获取数据库连接相关信息
2、通过配置信息构建SqlSessionFactory
3、通过SqlSessionFactory打开数据库会话(SqlSession)
例:(PS:以下是通过代码方式,通常用的是配置文件方式,这里只做演示)
//通过配置文件获取数据库连接信息
Reader reader=Resources.getResourceAsReaser("config/Configuration.xml");
//通过配置信息构建一个
SqlSessionFactory sqlSessionFactory=new SqlSessionfactoryBuilder(reader);
//通过sqlSessionFactory打开一个数据库回话
SqlSession sqlsession=sqlSessionFactory.openSession();
使用SqlSession
SqlSession sqlSession = DBAccess.getSqlSession();
/**
* 注意,Mybatis中只能传递一个参数,所以当有多个参数时,需要封装成一个对象来传递
*/
Param param = new Param(command, description);
messages = sqlSession.selectList("queryMessageList", param);
备注:
“增删改”与“查询”不一样,MyBatis查询默认有事务提交,但增删改需要手动提交事务。
sqlSession.commit();