關(guān)于mybatis基礎(chǔ)我們前面幾篇博客已經(jīng)介紹了很多了,今天我們來說一個簡單的問題,那就是mybatis中的緩存問題。mybatis本身對緩存提供了支持,但是如果我們沒有進(jìn)行任何配置,那么默認(rèn)情況下系統(tǒng)只開啟了一級緩存,一級緩存就是同一個SqlSession執(zhí)行的相同查詢是會進(jìn)行緩存的,OK,那么今天我們就來看看這些緩存,并簡單驗(yàn)證下。
系統(tǒng)默認(rèn)開啟了一級緩存
這個緩存系統(tǒng)默認(rèn)情況下是開啟的,當(dāng)我們獲取到一個SqlSession對象之后,如果調(diào)用SqlSession中的同一個方法查詢同一條數(shù)據(jù),那么第二次查詢將不會去數(shù)據(jù)庫中查詢,因?yàn)榈谝淮尾樵冇芯彺妫苯诱{(diào)用緩存數(shù)據(jù)即可,除非緩存超時或者我們明確聲明數(shù)據(jù)要刷新,否則都是直接調(diào)用緩存數(shù)據(jù)。OK,我們來看一個簡單的案例。
查詢代碼如下:
SqlSession sqlSession = null; try { sqlSession = DBUtils.openSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); //查詢同一條數(shù)據(jù)時會緩存 User user = mapper.getUser(1l); User user2 = mapper.getUser(1l); System.out.println(user.toString()); System.out.println(user2.toString()); sqlSession.commit(); } catch (Exception e) { System.err.println(e.getMessage()); sqlSession.rollback(); } finally { if (sqlSession != null) { sqlSession.close(); } }
網(wǎng)站欄目:mybatis中的緩存問題解析-創(chuàng)新互聯(lián)
文章起源:http://www.chinadenli.net/article44/dpishe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、移動網(wǎng)站建設(shè)、App設(shè)計(jì)、網(wǎng)站導(dǎo)航、網(wǎng)站收錄、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)