在Spring中使用JDBC和JDBC模板的講解
spring dao層中對(duì)jdbc進(jìn)行了封裝,使用模板模式的設(shè)計(jì)模式,通過ioc被動(dòng)注入的方式將jdbcTemplate
這個(gè)模板類注入到數(shù)據(jù)對(duì)象中,進(jìn)行數(shù)據(jù)庫(kù)操作。
我們要在一個(gè)類中進(jìn)行CRUD
操作(crud主要被用在描述軟件系統(tǒng)中數(shù)據(jù)庫(kù)或者持久層的基本操作功能。),首先要將jdbcTemplate這個(gè)模板類注入到數(shù)據(jù)對(duì)象類中,然后將DataSource
這個(gè)類注入到j(luò)dbcTemplate,獲取數(shù)據(jù)源。 這樣數(shù)據(jù)對(duì)象類就可以通過jdbcTemplate類中的方法進(jìn)行數(shù)據(jù)庫(kù)操作了。
注意:這里需要導(dǎo)如spring jdbc的兩個(gè)包和數(shù)據(jù)庫(kù)驅(qū)動(dòng)包
在Spring中使用JDBC操作數(shù)據(jù)庫(kù)時(shí),我們需要通過DataSource獲取一個(gè)數(shù)據(jù)庫(kù)連接,然后開始執(zhí)行SQL,SQL執(zhí)行完成后,我們需要處理SQL的結(jié)果,最后關(guān)閉連接,處理異常等。
無論我們是查詢,還是插入或者刪除數(shù)據(jù),整體過程比較類似,唯一變化的部分是執(zhí)行的SQL不同,處理SQL的結(jié)果的代碼不同,其余部分基本相同。所以,如果使用JDBC直接操作數(shù)據(jù)庫(kù),就會(huì)使代碼中存在很多相似且重復(fù)的代碼。
為了解決這個(gè)問題,Spring為我們提供的解決方案是,使用JDBC模板。Spring的JDBC模板能夠承擔(dān)資源管理和異常處理的工作,從而簡(jiǎn)化我們的JDBC代碼,讓我們可以只編寫從數(shù)據(jù)庫(kù)中讀寫數(shù)據(jù)的代碼。
對(duì)于JDBC來說,Spring提供了3個(gè)模板類。
- 1,JdbcTemplate:Spring里最基本的JDBC模板。
- 2,NamedParameterJdbcTemplate:能夠在執(zhí)行查詢時(shí),把值綁定到SQL里的命名參數(shù)。
- 3,SimpleJdbcTemplate:利用Java5的特性,比如自動(dòng)裝箱,generic和可變參數(shù)列表來簡(jiǎn)化JDBC模板的使用。
具體的使用例子,會(huì)像這個(gè)樣子:
獲取到JDBC模板對(duì)象后,直接執(zhí)行SQL即可,jdbcTemplate.update(SQL)
。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
java實(shí)現(xiàn)文件和base64相互轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了java如何實(shí)現(xiàn)文件和base64相互轉(zhuǎn)換,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11idea如何修改文件的file is read-only問題
這篇文章主要介紹了idea如何修改文件的file is read-only問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12mybatisplus如何解決分頁(yè)最多500條數(shù)據(jù)
這篇文章主要介紹了mybatisplus如何解決分頁(yè)最多500條數(shù)據(jù)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07SpringBootTest測(cè)試時(shí)不啟動(dòng)程序的問題
這篇文章主要介紹了SpringBootTest測(cè)試時(shí)不啟動(dòng)程序的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01java springmvc 注冊(cè)中央調(diào)度器代碼解析
這篇文章主要介紹了java springmvc 注冊(cè)中央調(diào)度器代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08