1.自動提交:當(dāng)你的sql語句執(zhí)行完畢,提交事務(wù),數(shù)據(jù)庫更新操作之間保存到數(shù)據(jù)
2.手動提交事務(wù):在你需要提交事務(wù)的位置,執(zhí)行方法,提交事務(wù)或者回滾事務(wù)。
mybatis的一些重要對象
1.resource:作用:用來讀取主配置信息
InputStream inputStream = Resources.getResourceAsStream(config);
2.SqlSessionFactoryBuilder:創(chuàng)建SqlSessionFactory對象:
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
3.SqlSessionFactory獲取sqlsession對象:
重量級對象,創(chuàng)建對象更需要更多的資源和時間
作用:sqlsession的工廠,創(chuàng)建SQL session對象
SqlSession openSession();//獲取一個默認(rèn)的sqlsession對象默認(rèn)是手工提交事務(wù)
SqlSession openSession(boolean var1);//boolean參數(shù)表示是否自動提交事務(wù)
true“自動提交
false:手工提交
SqlSession sqlSession = sqlSessionFactory.openSession();
3.sqlsession對象
sqlsession是通過sqlsessionfactory獲取的,本身是接口通過DefaultSqlSession實現(xiàn)
提供了大量的執(zhí)行sql語句的方法
selectOne:只能查詢一條語句
selectList:執(zhí)行sql語句,返回多行數(shù)據(jù)
selectMap:執(zhí)行sql語句,得到一個map結(jié)果
commit:提交事務(wù)
rollback:回顧事務(wù)
注意:sqlsession不是線程安全的: 使用的步驟
1.在方法的內(nèi)部,執(zhí)行sql語句之前,先獲取sqlsession對象(局部變量)
2.調(diào)用sqlsession,執(zhí)行sql語句
3.關(guān)閉sqlsession對象,執(zhí)行sqlsession.close()