在Spring中使用JDBC和JDBC模板的講解
spring dao層中對(duì)jdbc進(jìn)行了封裝,使用模板模式的設(shè)計(jì)模式,通過(guò)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ì)象類就可以通過(guò)jdbcTemplate類中的方法進(jìn)行數(shù)據(jù)庫(kù)操作了。
注意:這里需要導(dǎo)如spring jdbc的兩個(gè)包和數(shù)據(jù)庫(kù)驅(qū)動(dòng)包
在Spring中使用JDBC操作數(shù)據(jù)庫(kù)時(shí),我們需要通過(guò)DataSource獲取一個(gè)數(shù)據(jù)庫(kù)連接,然后開(kāi)始執(zhí)行SQL,SQL執(zhí)行完成后,我們需要處理SQL的結(jié)果,最后關(guān)閉連接,處理異常等。
無(wú)論我們是查詢,還是插入或者刪除數(shù)據(jù),整體過(guò)程比較類似,唯一變化的部分是執(zhí)行的SQL不同,處理SQL的結(jié)果的代碼不同,其余部分基本相同。所以,如果使用JDBC直接操作數(shù)據(jù)庫(kù),就會(huì)使代碼中存在很多相似且重復(fù)的代碼。
為了解決這個(gè)問(wèn)題,Spring為我們提供的解決方案是,使用JDBC模板。Spring的JDBC模板能夠承擔(dān)資源管理和異常處理的工作,從而簡(jiǎn)化我們的JDBC代碼,讓我們可以只編寫(xiě)從數(shù)據(jù)庫(kù)中讀寫(xiě)數(shù)據(jù)的代碼。
對(duì)于JDBC來(lái)說(shuō),Spring提供了3個(gè)模板類。
- 1,JdbcTemplate:Spring里最基本的JDBC模板。
- 2,NamedParameterJdbcTemplate:能夠在執(zhí)行查詢時(shí),把值綁定到SQL里的命名參數(shù)。
- 3,SimpleJdbcTemplate:利用Java5的特性,比如自動(dòng)裝箱,generic和可變參數(shù)列表來(lái)簡(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)文章
ssm項(xiàng)目session使用及其作用域問(wèn)題
這篇文章主要介紹了ssm項(xiàng)目session使用及其作用域問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
SpringMVC自定義參數(shù)綁定實(shí)現(xiàn)詳解
這篇文章主要介紹了SpringMVC自定義參數(shù)綁定實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
mybatis整合spring實(shí)現(xiàn)開(kāi)啟mapper.xml映射文件掃描
這篇文章主要介紹了mybatis整合spring實(shí)現(xiàn)開(kāi)啟mapper.xml映射文件掃描,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Java變量的初始化及靜態(tài)方法的實(shí)現(xiàn)
這篇文章主要介紹了Java變量的初始化及靜態(tài)方法的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
淺談springMVC接收前端json數(shù)據(jù)的總結(jié)
下面小編就為大家分享一篇淺談springMVC接收前端json數(shù)據(jù)的總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
SpringBoot在線代碼修改器的問(wèn)題及解決方法
這篇文章主要介紹了SpringBoot在線代碼修改器的問(wèn)題及解決方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
SpringMvc MultipartFile實(shí)現(xiàn)圖片文件上傳示例
本篇文章主要介紹了SpringMvc MultipartFile實(shí)現(xiàn)圖片文件上傳示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02

