1.自动提交:当你的sql语句执行完毕,提交事务,数据库更新操作之间保存到数据
2.手动提交事务:在你需要提交事务的位置,执行方法,提交事务或者回滚事务。
mybatis的一些重要对象
1.resource:作用:用来读取主配置信息
InputStream inputStream = Resources.getResourceAsStream(config);
2.SqlSessionFactoryBuilder:创建SqlSessionFactory对象:
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
3.SqlSessionFactory获取sqlsession对象:
重量级对象,创建对象更需要更多的资源和时间
作用:sqlsession的工厂,创建SQL session对象
SqlSession openSession();//获取一个默认的sqlsession对象默认是手工提交事务
SqlSession openSession(boolean var1);//boolean参数表示是否自动提交事务
true“自动提交
false:手工提交
SqlSession sqlSession = sqlSessionFactory.openSession();
3.sqlsession对象
sqlsession是通过sqlsessionfactory获取的,本身是接口通过DefaultSqlSession实现
提供了大量的执行sql语句的方法
selectOne:只能查询一条语句
selectList:执行sql语句,返回多行数据
selectMap:执行sql语句,得到一个map结果
commit:提交事务
rollback:回顾事务
注意:sqlsession不是线程安全的: 使用的步骤
1.在方法的内部,执行sql语句之前,先获取sqlsession对象(局部变量)
2.调用sqlsession,执行sql语句
3.关闭sqlsession对象,执行sqlsession.close()