JDBCTemplate和JDBC

1.背景介紹

? ? ? ?JDBC這個(gè)概念是我在做DAO層時(shí)了解到的知識(shí)點(diǎn),主要用來實(shí)現(xiàn)連接底層數(shù)據(jù)庫,并且能夠?qū)崿F(xiàn)通過java代碼對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的增刪查改。這個(gè)各位師兄肯定是很了解的,但是最近任務(wù)更新后使用的是JDBCTemplate進(jìn)行操作,可能會(huì)有一些師兄們就了解的不是很深,所以我也就淺顯的講一下,括弧笑。

? ? ? 并且JDBC和JDBCTemplate是不是有啥聯(lián)系呢?畢竟長得這么像!

2.知識(shí)剖析

? ? ? ?首先講JDBC肯定離不開DAO(Data Access Object)層,而JDBC的原理就是通過Connection對(duì)象獲取數(shù)據(jù)庫的連接,然后通過PreparedStatement對(duì)象處理SQL語句,再通過它的.setObject方法傳入數(shù)據(jù),最后通過方法.executeUpdate()和.executeQuery()執(zhí)行更新,這就是JDBC的基本原理。

? ? ? ?可以看到,JDBC涉及到了連接數(shù)據(jù)庫、然后處理SQL語句、然后傳值這幾個(gè)過程,可以說任何通過java代碼對(duì)數(shù)據(jù)庫的操作都離不開這幾個(gè)過程。但為什么會(huì)有五花八門的JDBC、JDBCTemplate和mybatis(我就學(xué)了這幾個(gè),更多的我就不知道了)這些方法的分別呢?

? ? ? ?那我們來看看JDBCTemplate有什么不一樣。

? ? ? ?首先JDBCTemplate是涉及到spring框架的一種方法,我們都知道spring框架中有一個(gè)神奇的東西,就是.xml配置文件。JDBCTemplate就是通過這個(gè)配置文件極大的簡化了我們代碼量,并且提高了安全性。

? ? ? ?那么問題來了,怎么通過配置文件實(shí)現(xiàn)簡化代碼呢?

其實(shí)和JDBC的思路是大同小異的。
首先我們需要在接口實(shí)現(xiàn)類中擁有一個(gè)set方法,這個(gè)是使用JDBCTemplate一定要注意的,沒有會(huì)報(bào)錯(cuò),而這個(gè)set方法就是用來連接數(shù)據(jù)庫的。然后創(chuàng)建DataSource對(duì)象和JDBCTemplate對(duì)象,分別是用來連接數(shù)據(jù)庫和處理SQL語句的。最后使用JDBCTemplate對(duì)象的.update方法和.query方法分別實(shí)現(xiàn)插入和查找。

講完原理,還有配置文件的功用還沒講。

配置文件中的東西不多,一個(gè)是DataSource對(duì)象的bean,另一個(gè)是接口實(shí)現(xiàn)類的bean并且和DataSource的bean做了引用。最后在測試類中(就是驅(qū)動(dòng)函數(shù)中),我們需要用ApplicationContext對(duì)象存儲(chǔ)配置文件的路徑,該路徑通過ClassPathXmlApplicationContext得到,

然后用ApplicationContext對(duì)象的.getBean方法連接到配置文件里的接口實(shí)現(xiàn)類的bean,然后就可以愉快的使用方法了

可以看到JDBCTemplate其實(shí)對(duì)JDBC的獲取數(shù)據(jù)庫連接的Connection對(duì)象做了封裝,提高了整體安全性,并且減少了大量冗余代碼,提高工作效率;插入、刪除等操作時(shí)也不用像JDBC一個(gè)一個(gè)字段進(jìn)行操作了,極大簡化代碼量,減少失誤;并且摒棄了TryCatch塊,更加安全了。

總之是個(gè)利器,就這么理解好了,哈哈

3.參考文獻(xiàn)

http://www.yiibai.com/springjdbc/stored_function.html



問題:jdbcTemplate 和 jdbc的區(qū)別就是對(duì)數(shù)據(jù)庫連接做了封裝嗎?

答:不單單是這個(gè),插入、刪除等操作時(shí)也不用像JDBC一個(gè)一個(gè)字段進(jìn)行操作了,極大簡化代碼量,減少失誤;并且摒棄了TryCatch塊,更加安全了。所以說,相較于JDBC,它實(shí)現(xiàn)了三個(gè)優(yōu)化。

PPT鏈接:

ptteng.github.io/PPT/PPT-java/java_task01_jdbcTemplate.html#/


視頻:


JDBCTemplate和JDBC_騰訊視頻
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,271評(píng)論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,551評(píng)論 19 139
  • 主要內(nèi)容 定義Spring的數(shù)據(jù)訪問支持 配置數(shù)據(jù)庫資源 使用Spring提供的JDBC模板 寫在前面:經(jīng)過上一篇...
    程序熊大閱讀 8,996評(píng)論 1 31
  • 又是一年畢業(yè)季,有同學(xué)已經(jīng)順利了就業(yè),有的還在茫然的就業(yè),每日刷招聘網(wǎng)站,或是奔波于面試。于是有的同學(xué)就發(fā)現(xiàn),自己...
    觸控未來教育閱讀 263評(píng)論 0 0
  • 文/Nichole 文學(xué)/情感 有時(shí)候覺得,婦女之友陸琪真是名副其實(shí)的婦女之友,什么話都能說到一些人的心里。 最近...
    翁萍閱讀 197評(píng)論 0 0

友情鏈接更多精彩內(nèi)容