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