-
低級的查看全部
-
三、Mybatis是支持不同sql查詢,存儲過程和高級映射的優(yōu)秀持久層框架
查看全部 -
出錯? 1代碼?? 2數(shù)據(jù)庫
若沒加事物管理,則代碼或數(shù)據(jù)庫中出錯就可能導(dǎo)致事物出錯或事物沒有執(zhí)行。加上事物管理,
第一步;通過setAutoCommit(false)取消自動提交
第二步;在catch方法中將事物回滾,若有出錯的事物則取消所有的操作,避免代碼出錯導(dǎo)致數(shù)據(jù)混亂。若無出錯的事物則最好
第三步;在try中最后通過從commit()手動提交事物
查看全部 -
2:一致性:張三給李四100¥,張三-100,李四+100這是兩個(gè)操作,放在這里講就必須在一個(gè)事物內(nèi)。
3:隔離性:對數(shù)據(jù)進(jìn)行修改的所有并發(fā)事物不能同時(shí)進(jìn)行,只能一個(gè)一個(gè)來
查看全部 -
一、JDBC常用的API深入詳解及存儲過程的調(diào)用
二、JDBC的事務(wù)管理
三、數(shù)據(jù)庫連接池,將連接單另出來,使開發(fā)人員只需要關(guān)注業(yè)務(wù)邏輯
dbcp 。2.c3p0
四、JDBC的替代產(chǎn)品
hibernate? 2.mybatis
五.總結(jié)
查看全部 -
MyBatis:支持普通SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。
特點(diǎn):
??? 1:易于上手和掌握。
??? 2:SQL卸載XML里,便于統(tǒng)一管理和優(yōu)化。
??? 3:解除SQL與程序代碼的耦合。
??? 4:提供映射標(biāo)簽,支持對象與數(shù)據(jù)庫的orm字段關(guān)系映射。
??? 5:提供對象關(guān)系映射標(biāo)簽,支持對象關(guān)系組建維護(hù)。
??? 6:提供XML標(biāo)簽,支持編寫動態(tài)SQL。查看全部 -
Hibernate:一種Java語言下的對象關(guān)系映射解決方案。它是一種自由,開源的軟件。
優(yōu)點(diǎn):
??? 1:輕量級的ORM框架
??? 2:對JDBC進(jìn)行了很好的封裝,使用了ORM做了映射,那么就可以通過面向?qū)ο蟮姆绞胶苋菀椎牟僮鲾?shù)據(jù)庫了。
??? 3:它還提供了緩存機(jī)制,可以提高效率。缺點(diǎn):
??? 如果對大量的數(shù)據(jù)進(jìn)行頻繁的操作,性能效率比較低,不如直接使用JDBC核心接口:
??? Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。
??? SessionFactory接口:SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session對象。
??? Configuration接口:Configuration接口負(fù)責(zé)配置并啟動Hibernate,創(chuàng)建SessionFactory對象。
??? Transaction接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計(jì)編寫自己的底層事物處理代碼。
??? Query和Criteria接口:Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達(dá)方式。配置文件示例:
操作示例:
查看全部 -
1- ?Commons-dbutils
Apache組織提供的一個(gè)開源的JDBC工具類庫,對傳統(tǒng)操作數(shù)據(jù)庫的類進(jìn)行二次封裝,可以把結(jié)果集轉(zhuǎn)化成List。
特點(diǎn):
1.杜絕資源泄露。(修正JDBC代碼并不困難,但是這通常導(dǎo)致連接泄露并且難以跟蹤到。)
2.清晰干凈的持久化代碼(大段的持久化數(shù)據(jù)到數(shù)據(jù)庫代碼徹底精簡,剩下的代碼清晰表達(dá)了編碼意圖。)
3.從ResultSet里自動組裝JavaBean(不需要手工從ResultSet里set值到JavaBean中,每一行數(shù)據(jù)都將會以一個(gè)Bean實(shí)例的形式出現(xiàn)。)
核心接口:
1DbUtils:提供如關(guān)閉連接,裝載驅(qū)動程序等常規(guī)工具類;
2.QueryRunner:該類簡化了SQL查詢,它常與ResultSetHandler組合一起使用
3.ResultSetHandler:執(zhí)行處理一個(gè)java.sql.ResultSet,將數(shù)據(jù)轉(zhuǎn)變并處理為任何一種形式,這樣有益于其應(yīng)用而且使用起來更容易。DbUtils.loadDriver(driverClassName) 加載驅(qū)動類
示例: 修改、插入數(shù)據(jù)
示例: 查詢數(shù)據(jù)
查看全部 -
dbcp連接池和c3p0連接池對比
查看全部 -
1、 導(dǎo)入相關(guān)jar包
? ? c3p0-0.9.2-pre4.jar
????mchange-commons-java-0.2.2.jar
2、在項(xiàng)目根目錄下添加配置文件? ? ?c3p0.properties
查看全部 -
獲取dbcp連接方式
1、通過獲取配置文件參數(shù),調(diào)用工廠方法獲取DataSource
2、手動使用參數(shù)獲取DataSource
3、從DataSource中調(diào)用getConnection()獲取連接
查看全部 -
JDBC連接池
背景:
1、數(shù)據(jù)庫連接是一種重要的資源
2、頻繁的連接數(shù)據(jù)庫會增加數(shù)據(jù)庫的壓力
3、為解決以上問題出現(xiàn)連接池技術(shù)
dbcp
1、導(dǎo)入相關(guān)dbcp的jar包
????commons-dpcp2-2.1.1.jar
????commons-pool2-2.4.2.jar
????commons-logging-1.2.jar
2、在項(xiàng)目根目錄下添加配置文件dbcp.properties
查看全部 -
1、調(diào)用Connection的setAutoCommit(false)關(guān)閉自動提交
2、使用try 將一系列數(shù)據(jù)庫操作放到一起,最后使用commit()提交事務(wù)
3、在catch里對異常處理,調(diào)用rollback()進(jìn)行事務(wù)回滾
查看全部 -
JDBC對事物管理的支持
1、我們通過提交commit()或是回退rollback()來管理事務(wù)的操作
2、事務(wù)操作默認(rèn)是自動提交
3、可以通過調(diào)用setAutoCommit(false)來禁止自動提交
查看全部 -
事務(wù)的概念
事務(wù)(TRANSACTION)是作為單個(gè)邏輯工作單元執(zhí)行的一系列操作。
這些操作作為一個(gè)整體一起向系統(tǒng)提交,要么都執(zhí)行、要么都不執(zhí)行。
事務(wù)的特點(diǎn)
1、原子性
事務(wù)是一個(gè)完整的操作。
2、一致性
當(dāng)事務(wù)完成時(shí),數(shù)據(jù)必須處于一致狀態(tài)。
3、隔離性
對數(shù)據(jù)進(jìn)行修改的所有并發(fā)事務(wù)是彼此隔離的。
4、永久性
事務(wù)完成后,它對數(shù)據(jù)庫的修改被永久保持。
查看全部 -
在數(shù)據(jù)庫中創(chuàng)建帶輸出參數(shù)的存儲過程,將輸出參數(shù)INTO到OUT參數(shù)里
調(diào)用registerOutParameter(index ,Type)方法注冊返回參數(shù),對應(yīng)括號內(nèi)占位符?的位置,聲明參數(shù)類型為int
查看全部
舉報(bào)