來源:北大青鳥總部 2023年02月08日 09:58
JdbcTemplate前世今生,很久很久以前,當我們剛剛要踏入程序猿的行列,還是一只菜鳥的時候,我們天真的以為踏踏實實才是真。所以,我們堅守著最初的誓言,每次在做持久層技術(shù)選型的時候,我們總是選擇最原始的JDBC,快樂的coding。
直到有一天,Java界的武林盟主-Spring,為了進一步鞏固自己在Java開發(fā)領(lǐng)域的地位,無情的搶走了它,隨即對它做了一系列的封裝改造,從此我們再也見不到它了,但是總能依稀感覺到它的存在,從此就誕生了JdbcTemplate,這就是JdbcTemplate的由來。
Spring官方有一句非常經(jīng)典的宣言"Don't Reinvent theWheel",翻譯過來就是"不要重復(fù)發(fā)明輪子"。
所以我們可以看到很多Spring出品的技術(shù)都是在原有的技術(shù)基礎(chǔ)之上進一步封裝、重構(gòu)、改造,也因此成就了Spring這樣一個偉大的技術(shù)生態(tài),在Java開發(fā)領(lǐng)域做出了非常大的貢獻。JdbcTemplate的存在無疑也是最好的見證。
Tips:凡是我們看到xxxTemplate的類,都是Spring對xxx的封裝的模板類。
我們都知道使用原始的JDBC在操作數(shù)據(jù)庫是比較麻煩的,所以Spring為了提高開發(fā)的效率,順帶著就把JDBC封裝、改造了一番,而JdbcTemplate就是Spring對原始JDBC封裝之后提供的一個操作數(shù)據(jù)庫的工具類。
我們可以借助JdbcTemplate來完成所有數(shù)據(jù)庫操作,比如:增刪改查等。改造之后的JdbcTemplate主要提供以下三種類型的方法
executeXxx() : 執(zhí)行任何SQL語句,對數(shù)據(jù)庫、表進行新建、修改、刪除操作
updateXxx() : 執(zhí)行新增、修改、刪除等語句
queryXxx() : 執(zhí)行查詢相關(guān)的語句
當然,我們也知道,實際開發(fā)過程中我們更多的是會使用更加強大的持久化框架來訪問數(shù)據(jù)庫,比如MyBatis、Spring Data JPA等。
但是JdbcTemplate算是最簡單的數(shù)據(jù)持久層方案,因此,今天學(xué)習(xí)JdbcTemplate,是想告訴大家還有這么一種操作數(shù)據(jù)庫的方式 "用之不強,但棄之可惜"。
接下來跟著小編一步一步學(xué)習(xí)怎么在SpringBoot中使用JdbcTemplate。
案例:打仗也是要先吃飯的,不然哪里來的力氣打仗。所以,我們要先創(chuàng)建一個kgc的數(shù)據(jù)庫,創(chuàng)建好數(shù)據(jù)庫之后,創(chuàng)建數(shù)據(jù)庫表用戶表。
表名叫t_user,添加三列數(shù)據(jù),列名分別是:
id 唯一標記
username 用戶名稱
age 年齡
插入準備好的數(shù)據(jù),在數(shù)據(jù)中執(zhí)行如下腳本#數(shù)據(jù)庫腳本文件
數(shù)據(jù)準備好之后,就開始集成JdbcTemplate了。
首先我們使用SpirngBoot Initializr 創(chuàng)建SpringBoot基礎(chǔ)工程,因為我們是做持久層開發(fā),所以這里我們需要添加一些數(shù)據(jù)庫相關(guān)的依賴
1.數(shù)據(jù)庫驅(qū)動依賴
2.JdbcTemplate的依賴
接下來就只需要在application.properties中配置數(shù)據(jù)源的基本配置。
這里我們注意到,是不需要配置任何有關(guān)JdbcTemplate的配置,因為JdbcTemplate是Spring內(nèi)置提供的持久化方案,任何配置都不用。
至此,所有的配置就算完成了,接下來就可以直接使用JdbcTemplate了。
實體類中的屬性名要注意和數(shù)據(jù)庫列名一致,這樣我們在使用的時候就可以避免去將屬性名和數(shù)據(jù)庫列名去一一映射了。
實體類最好都實現(xiàn)序列化接口Serializable。
搞定以上這些之后,我們就可以開始測試了,有沒有很激動呢。見證奇跡的時刻,在springBoot的測試類中,寫個測試方法
最后,我們可以看到控制臺打印出了查詢的用戶信息,這就說明我們使用SpringBoot集成JdbcTemplate是成功的!
在SpringBoot中使用JdbcTemplate案例演示完畢。