第四章:Spring中數(shù)據(jù)庫開發(fā)

Spring JDBC

Spring JdbcTemplate的解析
  • Spring框架提供了JdbcTemplate類吼虎,該類是Spring框架數(shù)據(jù)抽象層的基礎,其他更高層次的抽象類卻是構(gòu)建于JdbcTemplate類之上饱狂。(JdbcTemplate類是Spring JDBC的核心類)
    JdbcTemplate繼承關系
  • 由上圖可以看出,JdbcTemplate類的直接父類是JdbcAccessor,該類為子類提供了一些訪問數(shù)據(jù)庫時使用的公共屬性戈二,具體如下:
    • DataSource:主要功能是獲取數(shù)據(jù)庫連接预柒,還可引入對數(shù)據(jù)庫連接的緩沖池和分布式事務的支持队塘,它可以作為訪問數(shù)據(jù)庫資源的標準接口
    • SQLExceptionTranslator:該接口負責對SQLException進行轉(zhuǎn)譯工作。通過必要的設置獲取SQLExceptionTranslator中的方法宜鸯,可以使JdbcTemplate在需要處理SQLException時憔古,委托SQLExceptionTranslator的實現(xiàn)類來完成相關的轉(zhuǎn)譯工作
  • jdbcOperations接口定義了在JdbcTemplate類中可以使用的操作集合,包括增刪改查
  • Spring JDBC模塊負責數(shù)據(jù)庫資源管理和錯誤處理,簡化了開發(fā)人員對數(shù)據(jù)庫的操作
Spring JDBC的配置

Spring JDBC模塊的組成(由4個包組成)曙聂,分別是:core(核心包)廊镜、dataSource(數(shù)據(jù)源包)、object(對象包)焰情、support(支持包)

  • dataSource(數(shù)據(jù)源包):


    dataSource4個屬性
    四種包

    例子

JdbcTemplate類中execute()方法的使用

execute(String sql)方法用于執(zhí)行sql語句

JdbcTemplate類中update()方法的使用

update()用于執(zhí)行插入、更新剥懒、刪除操作
update()方法
Spring事務管理的方式(2種)
  • (1)編程式事務管理:通過編寫代碼實現(xiàn)事務管理内舟,含定義事務的開始、正常執(zhí)行后的事務提交和異常時的事務回滾
  • (2)聲明式事務管理(推薦使用):通過AOP技術實現(xiàn)的事務管理初橘,主要思想是將事務作為一個“切面”代碼單獨編寫验游,然后通過AOP技術將事務管理的“切面”植入到業(yè)務目標類中。(最大特點“開發(fā)者無需通過編程的方式來管理事務)
    • Spring 的聲明式事務管理可以通過兩種方式來實現(xiàn):
      A保檐、基于 XML 的方式:通過在配置文件中配置事務規(guī)則的相關聲明來實現(xiàn)的耕蝉。
      B、基于 Annotation(注釋) 的方式夜只。
      • Spring 的聲明式事務管理通過 Annotation (注解)的方式來實現(xiàn)垒在。 這種方式的使用非常簡單,開發(fā)者只需做兩件事情:
        ① 在Spring容器中注冊事務注解驅(qū)動扔亥;
        ② 在需要使用事務的Spring Bean類或者Bean類的方法上添加注解@Transactional场躯。如果將注解添加在Bean類上谈为,則表示事務的設置對整個Bean類的所有方法都起作用;如果將注解添加在Bean類中的某個方法上,則表示事務的設置只對該方法有效推盛。

JdbcTemplate類中query()方法的使用

query()用于執(zhí)行數(shù)據(jù)查詢
常用query()
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末峦阁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子耘成,更是在濱河造成了極大的恐慌榔昔,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘪菌,死亡現(xiàn)場離奇詭異撒会,居然都是意外死亡,警方通過查閱死者的電腦和手機师妙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門诵肛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人默穴,你說我怎么就攤上這事怔檩。” “怎么了蓄诽?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵薛训,是天一觀的道長。 經(jīng)常有香客問我仑氛,道長乙埃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任锯岖,我火速辦了婚禮介袜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘出吹。我一直安慰自己遇伞,他們只是感情好,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布捶牢。 她就那樣靜靜地躺著赃额,像睡著了一般。 火紅的嫁衣襯著肌膚如雪叫确。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天芍锦,我揣著相機與錄音竹勉,去河邊找鬼。 笑死娄琉,一個胖子當著我的面吹牛次乓,可吹牛的內(nèi)容都是我干的吓歇。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼票腰,長吁一口氣:“原來是場噩夢啊……” “哼城看!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起杏慰,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤测柠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缘滥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體轰胁,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年朝扼,在試婚紗的時候發(fā)現(xiàn)自己被綠了赃阀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡擎颖,死狀恐怖榛斯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情搂捧,我是刑警寧澤驮俗,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站异旧,受9級特大地震影響意述,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吮蛹,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一荤崇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧潮针,春花似錦术荤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至焦读,卻和暖如春子库,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背矗晃。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工仑嗅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓仓技,卻偏偏與公主長得像鸵贬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子脖捻,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 11. 事務管理 11.1 Spring Framework事務管理介紹 廣泛的事務支持是Spring Frame...
    此魚不得水閱讀 625評論 0 0
  • 這篇文章是基于我開發(fā)讀寫分離中間件和數(shù)據(jù)庫智能運維平臺時的經(jīng)驗總結(jié)而成阔逼。網(wǎng)上對數(shù)據(jù)庫連接系統(tǒng)分析的文章非常少,甚至...
    彥幀閱讀 4,982評論 0 4
  • 一年又一年地沮,字節(jié)跳動 Lark(飛書) 研發(fā)團隊又雙叒叕開始招新生啦嗜浮!【內(nèi)推碼】:GTPUVBA【內(nèi)推鏈接】:ht...
    盧卡斯嗶嗶嗶閱讀 19,766評論 0 4
  • java事務的處理 轉(zhuǎn) https://www.cnblogs.com/Bonker/p/5417967.html...
    小小的Jobs閱讀 1,408評論 0 1
  • 星期天 天氣晴 今天是周末,天氣晴好诉濒!帶著夢馨去趕集買菜周伦,集上看到有賣山楂的就買了點回來,待到小朋友睡了后未荒,我...
    我的大馨妹閱讀 239評論 0 0