在使用普通舊JDBC處理數(shù)據(jù)庫時(shí),編寫不必要的代碼來處理異常,打開和關(guān)閉數(shù)據(jù)庫連接等變得非常麻煩。但是Spring JDBC框架從打開連接開始處理所有底層基礎(chǔ)細(xì)節(jié),準(zhǔn)備并執(zhí)行SQL語句,處理進(jìn)程異常,處理事務(wù),最后關(guān)閉連接。
所以使用Spring JDBC框架后,只是需要定義連接參數(shù),并指定要執(zhí)行的SQL語句,并在從數(shù)據(jù)庫中獲取數(shù)據(jù)時(shí)對(duì)每次迭代執(zhí)行所需的工作即可。
Spring JDBC提供了幾種方法和相應(yīng)的不同類與數(shù)據(jù)庫的接口。 本教程中將采用經(jīng)典和最流行的方法,它使用了JdbcTemplate類的框架。這是管理所有數(shù)據(jù)庫通信和異常處理的中央框架類。
JdbcTemplate類執(zhí)行SQL查詢,更新語句和存儲(chǔ)過程調(diào)用,在ResultSet上執(zhí)行迭代并提取返回的參數(shù)值。 它還捕獲JDBC異常,并將它們轉(zhuǎn)換為org.springframework.dao
包中定義的通用,更詳細(xì)的異常層次結(jié)構(gòu)。
配置JdbcTemplate
類的實(shí)例是線程安全的。 因此,可以配置JdbcTemplate
的單個(gè)實(shí)例,然后將該共享引用安全地注入到多個(gè)DAO中。
使用JdbcTemplate類時(shí)常見的做法是在Spring配置文件中配置DataSource,然后將共享DataSource bean的dependency-inject
注入到DAO類中,并在DataSource的setter
中創(chuàng)建JdbcTemplate。
DAO代表通常用于數(shù)據(jù)庫交互的數(shù)據(jù)訪問對(duì)象。 DAO提供讀取和寫入數(shù)據(jù)到數(shù)據(jù)庫的方法,并且它們應(yīng)該通過其他應(yīng)用程序訪問它們的接口來公開此功能。
Spring中的數(shù)據(jù)訪問對(duì)象(DAO)支持能夠以一致的方式輕松處理JDBC,Hibernate,JPA或JDO等數(shù)據(jù)訪問技術(shù)。
我們不能保證您在此Spring JDBC教程的過程中不會(huì)遇到任何問題。本教程中的講解,示例和代碼等只是根據(jù)作者的理解來概括寫出。由于作者水平和能力有限,因此不保正所有的編寫文章都準(zhǔn)確無誤。但是如果有遇到任何錯(cuò)誤或問題,請(qǐng)反饋給我們,我們會(huì)及時(shí)糾正以方便后續(xù)讀者的閱讀和學(xué)習(xí)。