Mybatis之SqlSession简析
在 MyBatis 中,SqlSession 是其核心接口。在 MyBatis 中有兩個實現(xiàn)類,DefaultSqlSession 和 SqlSessionManager。
SqlSession是Mybatis的一個核心類,簡單點就是執(zhí)行sql的,Mybatis的一級緩存應(yīng)該就在這個級別上的,實際上一級緩存在Executor中實現(xiàn)的,下個文章介紹。
先看看SqlSession中的方法
?
DefaultSqlSession 是單線程使用的,而 SqlSessionManager 在多線程環(huán)境下使用。SqlSession 的作用類似于一個 JDBC 中的 Connection 對象,代表著一個連接資源的啟用。具體而言,它的作用有 3 個:
- 獲取 Mapper 接口。
- 發(fā)送 SQL 給數(shù)據(jù)庫。
- 控制數(shù)據(jù)庫事務(wù)。
先來掌握它的創(chuàng)建方法,有了 SqlSessionFactory 創(chuàng)建的 SqlSession 就十分簡單了,如下所示。
SqlSession sqlSession = SqlSessionFactory.openSession();
注意,SqlSession 只是一個門面接口,它有很多方法,可以直接發(fā)送 SQL。它就好像一家軟件公司的商務(wù)人員,是一個門面,而實際干活的是軟件工程師。在 MyBatis 中,真正干活的是 Executor,我們會在底層看到它。
SqlSession 控制數(shù)據(jù)庫事務(wù)的方法,如下所示。
總結(jié)
以上是生活随笔為你收集整理的Mybatis之SqlSession简析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java修炼手册下载_Java修炼手册
- 下一篇: 基于nonebot的QQ群聊机器人制作(