1. 程式人生 > >帶著新人學springboot的應用01(springboot+mybatis+緩存 上)

帶著新人學springboot的應用01(springboot+mybatis+緩存 上)

這一 map 持久 druid數據源 最新 batis 控制 題目 uid

  上一篇結束,第一次做一個這麽長的系列,很多東西我也是沒有說到,也許是還沒有想到,哈哈哈,不過基本的東西還是說的差不多了的。假如以後碰到了不會的,隨便查查資料配置一下就ok。

  咳,還有大家如果把我前面的消化的差不多的話,那麽應該從萌新成長到新人了,嘿嘿!所以我把這一篇題目叫做帶著新人學@_@!

  萌新階段主要是教大家用一些底層原理和一些基本配置原理,還沒有涉及到怎麽用,現在jiu來大概說說怎麽用和看一些源碼。

  記得上一篇說過springboot+JdbcTemplate的簡單使用,這一次就整合一下mybatis,加上緩存的使用,還會說一下使用redis,當然也會看一看源碼。(往自己臉啪啪啪打臉,要說的東西真特麽多。。。)

  不說廢話了,正題開始。

準備工作:至少你要會mybatis框架的使用(註解版和xml都行,還有,就不用Druid數據源了,一切以簡潔為主,想用的根據我之前的文章自行添加即可)

1.新建一個springboot應用

  導入如下的幾個場景cache+web+mysql+mybatis+版本1.5xx

技術分享圖片

技術分享圖片

技術分享圖片

2.數據庫新建兩個表以及對應的javabean(不需要有什麽聯系)

  這個沒什麽好說的,不管用什麽持久層框架,都是這樣(也可以自己準備.sql文件,然後放到類路徑下等等操作,我之前就具體的說過了,不贅述)

  我比較懶,就不搞這麽正規了,手動創建吧!

技術分享圖片

技術分享圖片

  數據庫的表應該都會吧,我就不多說了。

  我的表:

技術分享圖片

------------------------------------------------------

技術分享圖片

-------------------------------------------------------------

3.javaweb三層結構以及配置連接池(最基本的東西,沒忘記吧!)

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

測試結果:

技術分享圖片

-------------------------------------------------------------------------------------------

  emmmmm。。。。這是最基本最簡化版的一個springboot+mybatis,是不是很容易,接下來我們就在這個基礎上去擴展。

  註意:搭建這個簡單的環境運行的時候,報錯了,數據庫驅動錯誤(難道我這麽菜,這樣簡陋的整合都會出錯嗎?),查了一下發現數據庫驅動太高級了...emmmm,我看了看,貌似mybatis默認用最新的數據庫驅動8.0.13,我還是改了一下用5.1.38版本的,ok了,所以還是不要用最新的數據庫驅動為好,水太深了.......

技術分享圖片

擴展:

1.mapper增加crud方法

技術分享圖片

技術分享圖片

2.Service增加一點東西

技術分享圖片

3.controller增加內容

技術分享圖片

進一步測試:

  插入數據(記得?一定要是英語的問號)

技術分享圖片

  查詢

技術分享圖片

  打開控制臺

技術分享圖片

  緩存

  為什麽要有緩存?大家知不知道,其實我們每次連接數據庫是很慢的,而且很消耗數據庫的資源,大白話說就是很卡,用WiFi玩遊戲看電視的時候,假如連接WiFi的手機特別多,emmm。。。看動漫的我還是緩存起來再看,不然會很卡。

  數據庫一樣,連接的太多了,首先連接池有最大連接限制,超過最大數目就要等著,排隊;然後當連接數目比較多每次都去連接數據庫查,處理一個sql語句都會很卡,卡爆了。所以,我們就出現了緩存,把查過一次的結果緩存一下,下次就不用去數據庫了,直接從你的緩存裏拿就ok了,這個速度非常快。

  緩存加在Service可以,加在Dao層也行,看實際情況,我這裏隨意了,就加在Service層了。

  首先,主配置類開啟緩存

技術分享圖片

 技術分享圖片

  然後可以去瀏覽器查詢,無論刷新多少次,只打印一條這個語句

技術分享圖片

  這一節就到這裏,很粗略的說了一下mybatis和緩存,下一節說說註解配置mybatis,接著詳細的說說緩存其他的作用以及其他的註解,然後就是源碼看一下內在原理。

 

帶著新人學springboot的應用01(springboot+mybatis+緩存 上)