《MyBatis技术原理与实战》之SqlSession的用途
生活随笔
收集整理的這篇文章主要介紹了
《MyBatis技术原理与实战》之SqlSession的用途
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.Mybatis中SqlSession主要有兩種用途:
- 獲取映射器,讓映射器通過命名空間和方法名稱找到對應的SQL,發送給數據庫執行后返回結果
- 直接通過命名信息去執行SQL返回結果,這是IBatis版本留下的方式。在sqlSession層我們可以通過update、insert、select、delete等方法,帶上SQL的id來操作XML中配置好的SQL,從而完成我的工作;與此同時它也支持事物,通過commit、rollback方法提交或者回滾事務。
2.SqlSession獲取映射器,然后映射器去發送sql
//獲取映射器 RoleMapper roleMapper = sqlSession.getMapper(RoleMapper.class); Role role = roleMapper.getRole(1L);//執行方法3.SqlSession直接發送sql執行并返回結果
Role role = sqlSession.selectOne("com.learn.chapter2.mapper.RoleMapper.getRole",1L);還需查詢列表的selectList等方法。
4.兩者區別與用途
- sqlSession.selectOne是功能性代碼,長長的字符串比較晦澀難懂,不包含業務邏輯的含義,不符合面向對象的規范。而對于roleMapper這樣的才是符合面向對象規范的編程,也更符合業務的邏輯。
- 使用Mapper方式,IDE可以檢查Java預發,避免不必要的錯誤。
- 在實際開發中,一般都采用面向接口編程,此時是沒有dao層實現類的,所以sqlSession.selectOne也不適用。
總結
以上是生活随笔為你收集整理的《MyBatis技术原理与实战》之SqlSession的用途的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《MyBatis技术原理与实战》之动态S
- 下一篇: String类split方法