MyBatis的一些重要对象
1)Resources:mybatis框架中的对象,作用 读取主配置信息。
Inputstream inputstream = Resources.getResourceAsstream(config);
2)SqlSessionFactoryBuilder:负责创建SqISessionFactory对象
sqlSessionFactory factory = new sqlSessionFactoryBuilder().build(inputstream);
3)SqlSessionFactory:重要对象
SqlSessionFactory是重量级对象:创建此对象需要使用更多的资源和时间。在项目中有一个就可以了。
SqlSessionFactory是接口:是Sqlsession的工厂,就是创建Sqlsession对象。
DefaultSalSessionFactory是其实现类
SqlSessionFactory接口中的方法:
openSession:获取一个默认的Sqlsession对象,默认需要手工提交事务的。
openSession(boolean):boolean参数表示是否自动提交事务。
- true:创建一个自动提交事务的SqlSession
- false:等同于没有参数的openSession
4)SqlSession对象
SqlSession本身是接口 DefaultSqlSession:是其实现类
public class DefaultsqlSession implements sqlSession{}
SqlSession作用是提供了大量的执行sq语句的方法:
- selectone:执行sq1语句,最多得到一行记录,多余1行是错误。
- selectList:执行sq1语句,返回多行数据
- selectMap:执行sqli句的,得到一个Map结果
- insert:执行insert语句
- update:执行update语句
- delete:执行delete语句
- commit:提交事务
- rollback:回滚事务
注意:SqlSession对象不是线程安全的,使用的步骤:
- 在方法的内部,执行sql语句之前,先获取SalSession对象
- 调用SqlSession的方法,执行sql语句
- 关闭SqlSession对象,执行SqlSession.close()