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