學(xué)AI,好工作 就找北大青鳥
關(guān)注小青 聽課做題,輕松學(xué)習(xí)
周一至周日
4000-9696-28

案例講解|走進(jìn)原生JdbcTemplate

來(lái)源:北大青鳥總部 2023年02月08日 09:58

摘要: 我們都知道使用原始的JDBC在操作數(shù)據(jù)庫(kù)是比較麻煩的,所以Spring為了提高開發(fā)的效率,順帶著就把JDBC封裝、改造了一番,而JdbcTemplate就是Spring對(duì)原始JDBC封裝之后提供的一個(gè)操作數(shù)據(jù)庫(kù)的工具類。

JdbcTemplate前世今生,很久很久以前,當(dāng)我們剛剛要踏入程序猿的行列,還是一只菜鳥的時(shí)候,我們天真的以為踏踏實(shí)實(shí)才是真。所以,我們堅(jiān)守著最初的誓言,每次在做持久層技術(shù)選型的時(shí)候,我們總是選擇最原始的JDBC,快樂的coding。

直到有一天,Java界的武林盟主-Spring,為了進(jìn)一步鞏固自己在Java開發(fā)領(lǐng)域的地位,無(wú)情的搶走了它,隨即對(duì)它做了一系列的封裝改造,從此我們?cè)僖惨姴坏剿耍强偰芤老「杏X到它的存在,從此就誕生了JdbcTemplate,這就是JdbcTemplate的由來(lái)。



Spring官方有一句非常經(jīng)典的宣言"Don't Reinvent theWheel",翻譯過(guò)來(lái)就是"不要重復(fù)發(fā)明輪子"。

所以我們可以看到很多Spring出品的技術(shù)都是在原有的技術(shù)基礎(chǔ)之上進(jìn)一步封裝、重構(gòu)、改造,也因此成就了Spring這樣一個(gè)偉大的技術(shù)生態(tài),在Java開發(fā)領(lǐng)域做出了非常大的貢獻(xiàn)。JdbcTemplate的存在無(wú)疑也是最好的見證。

Tips:凡是我們看到xxxTemplate的類,都是Spring對(duì)xxx的封裝的模板類。


什么是JdbcTemplate

我們都知道使用原始的JDBC在操作數(shù)據(jù)庫(kù)是比較麻煩的,所以Spring為了提高開發(fā)的效率,順帶著就把JDBC封裝、改造了一番,而JdbcTemplate就是Spring對(duì)原始JDBC封裝之后提供的一個(gè)操作數(shù)據(jù)庫(kù)的工具類。

我們可以借助JdbcTemplate來(lái)完成所有數(shù)據(jù)庫(kù)操作,比如:增刪改查等。改造之后的JdbcTemplate主要提供以下三種類型的方法

  1. executeXxx() : 執(zhí)行任何SQL語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)、表進(jìn)行新建、修改、刪除操作

  2. updateXxx() : 執(zhí)行新增、修改、刪除等語(yǔ)句

  3. queryXxx() : 執(zhí)行查詢相關(guān)的語(yǔ)句

當(dāng)然,我們也知道,實(shí)際開發(fā)過(guò)程中我們更多的是會(huì)使用更加強(qiáng)大的持久化框架來(lái)訪問數(shù)據(jù)庫(kù),比如MyBatis、Spring Data JPA等。

但是JdbcTemplate算是最簡(jiǎn)單的數(shù)據(jù)持久層方案,因此,今天學(xué)習(xí)JdbcTemplate,是想告訴大家還有這么一種操作數(shù)據(jù)庫(kù)的方式 "用之不強(qiáng),但棄之可惜"。

接下來(lái)跟著小編一步一步學(xué)習(xí)怎么在SpringBoot中使用JdbcTemplate。


案例:打仗也是要先吃飯的,不然哪里來(lái)的力氣打仗。所以,我們要先創(chuàng)建一個(gè)kgc的數(shù)據(jù)庫(kù),創(chuàng)建好數(shù)據(jù)庫(kù)之后,創(chuàng)建數(shù)據(jù)庫(kù)表用戶表。

表名叫t_user,添加三列數(shù)據(jù),列名分別是:

  • id 唯一標(biāo)記

  • username 用戶名稱

  • age 年齡


插入準(zhǔn)備好的數(shù)據(jù),在數(shù)據(jù)中執(zhí)行如下腳本#數(shù)據(jù)庫(kù)腳本文件



添加POM依賴

數(shù)據(jù)準(zhǔn)備好之后,就開始集成JdbcTemplate了。

首先我們使用SpirngBoot Initializr 創(chuàng)建SpringBoot基礎(chǔ)工程,因?yàn)槲覀兪亲龀志脤娱_發(fā),所以這里我們需要添加一些數(shù)據(jù)庫(kù)相關(guān)的依賴


1.數(shù)據(jù)庫(kù)驅(qū)動(dòng)依賴



2.JdbcTemplate的依賴



配置屬性文件

接下來(lái)就只需要在application.properties中配置數(shù)據(jù)源的基本配置。

這里我們注意到,是不需要配置任何有關(guān)JdbcTemplate的配置,因?yàn)镴dbcTemplate是Spring內(nèi)置提供的持久化方案,任何配置都不用。



至此,所有的配置就算完成了,接下來(lái)就可以直接使用JdbcTemplate了。


編寫實(shí)體類

實(shí)體類中的屬性名要注意和數(shù)據(jù)庫(kù)列名一致,這樣我們?cè)谑褂玫臅r(shí)候就可以避免去將屬性名和數(shù)據(jù)庫(kù)列名去一一映射了。

實(shí)體類最好都實(shí)現(xiàn)序列化接口Serializable。



搞定以上這些之后,我們就可以開始測(cè)試了,有沒有很激動(dòng)呢。見證奇跡的時(shí)刻,在springBoot的測(cè)試類中,寫個(gè)測(cè)試方法



最后,我們可以看到控制臺(tái)打印出了查詢的用戶信息,這就說(shuō)明我們使用SpringBoot集成JdbcTemplate是成功的!



在SpringBoot中使用JdbcTemplate案例演示完畢。


標(biāo)簽: spring
熱門班型時(shí)間
人工智能就業(yè)班 即將爆滿
AI應(yīng)用線上班 即將爆滿
UI設(shè)計(jì)全能班 即將爆滿
數(shù)據(jù)分析綜合班 即將爆滿
軟件開發(fā)全能班 爆滿開班
網(wǎng)絡(luò)安全運(yùn)營(yíng)班 爆滿開班
報(bào)名優(yōu)惠
免費(fèi)試聽
課程資料
官方微信
返回頂部
培訓(xùn)課程 熱門話題 站內(nèi)鏈接