秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

JDBC數(shù)據(jù)庫連接javaEE.ppt

上傳人:xin****828 文檔編號:14601404 上傳時間:2020-07-25 格式:PPT 頁數(shù):72 大?。?.26MB
收藏 版權申訴 舉報 下載
JDBC數(shù)據(jù)庫連接javaEE.ppt_第1頁
第1頁 / 共72頁
JDBC數(shù)據(jù)庫連接javaEE.ppt_第2頁
第2頁 / 共72頁
JDBC數(shù)據(jù)庫連接javaEE.ppt_第3頁
第3頁 / 共72頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《JDBC數(shù)據(jù)庫連接javaEE.ppt》由會員分享,可在線閱讀,更多相關《JDBC數(shù)據(jù)庫連接javaEE.ppt(72頁珍藏版)》請在裝配圖網上搜索。

1、JDBC,1,JDBC基礎,2,JDBC基礎,JDBC的全稱是 Java Database Connectivity,即Java數(shù)據(jù)庫連接,它是一種可以執(zhí)行SQL語句的Java API。 Java API是接口,其實現(xiàn)類由各數(shù)據(jù)庫廠商提供實現(xiàn),這些實現(xiàn)類就是“驅動程序”。 正是通過JDBC驅動的轉換,才使得使用相同JDBC API編寫的程序,可以在不同的數(shù)據(jù)庫系統(tǒng)上運行良好。,3,JDBC基礎,JDBC編程步驟(一):,4,驅動類對應的字符串: MySql:com.mysql.jdbc.Driver SQLServer:com.microsoft.sqlserver.jdbc

2、.SQLServerDriver 數(shù)據(jù)庫URL: MySql:jdbc:mysql://127.0.0.1:3306/sms SQLServer:jdbc:sqlserver://127.0.0.1:1433;DatabaseName=sms,JDBC基礎,JDBC編程步驟(二):,5,注意:以上整個示例代碼,應該使用try catch finally釋放資源,JDBC基礎,JDBC_增刪改操作:,6,JDBC基礎,JDBC_前幾頁PPT代碼分析: Url、User、Password直接在代碼中定義,如果數(shù)據(jù)庫服務器稍作變動,怎么辦? 一個項目基本針對一個底層數(shù)據(jù)庫,難道每次操作數(shù)

3、據(jù)庫,都要注冊一次驅動程序嘛?是否可以只注冊一次? 獲取數(shù)據(jù)庫連接時,每次都需要Url、User、Password,一旦改動其中一個數(shù)據(jù),意味著要修改所有此處的代碼。 釋放資源,每次數(shù)據(jù)庫操作后,都需要釋放資源,難道每次操作后都要寫三次try close catch代碼嘛?,7,JDBC基礎,JDBC_封裝升級(一):,8,JDBC基礎,JDBC_封裝升級(二):,9,JDBC基礎,JDBC_封裝升級(三):,10,JDBC基礎,JDBC_封裝升級(四):,11,JDBC基礎,Statement的缺點: 同樣的SQL語句,每次都要發(fā)送,不能進行有效的緩存。 拼接SQL字符串非常容易出現(xiàn)錯誤。

4、不能防止惡意數(shù)據(jù),易產生SQL注入。 升級后的新接口PreparedStatement(推薦): 預編譯SQL語句,并進行有效的緩存,性能更好。 允許使用問號占位符參數(shù),并且該參數(shù)必須獲得值后才可以執(zhí)行。 無需拼接SQL語句。,12,SQL注入:“...where name=” + “or 1=1 or” + “and password=”+ “”+ “”,問號占位符參數(shù):INSERT INTO User(id,name,age,birthday) VALUES(?,?,?,?);,JDBC基礎,JDBC_ PreparedStatement(一):,13,JDBC基礎,JDBC_ Prepa

5、redStatement(二):,14,JDBC基礎,JDBC_疑難雜癥: 獲取插入記錄后的自增長值 日期類型(datetime) 文本信息(text):varchar的最大長度為65535左右 二進制文件(blob),15,JDBC基礎,JDBC_疑難雜癥(一):自增長值、日期(寫入),16,JDBC基礎,JDBC_疑難雜癥(一):自增長值、日期(讀?。?17,JDBC基礎,JDBC_疑難雜癥(二):文本信息text(寫入),18,JDBC基礎,JDBC_疑難雜癥(二):文本信息text(讀?。?19,JDBC基礎,JDBC_疑難雜癥(三):二進制文件(寫入),20,JDBC基礎,JDBC_

6、疑難雜癥(三):二進制文件(讀?。?21,JDBC基礎,JDBC_事務處理: 事務處理就是當執(zhí)行多個SQL指令時,如果因為某個原因使其中一條指令執(zhí)行有錯誤,則取消先前執(zhí)行過的所有指令。它的作用是保證各項操作的一致性和完整性。 JDBC事務是通過Connection對象進行控制的。其提供了兩種事務: 自動提交模式:系統(tǒng)默認,每項數(shù)據(jù)庫操作成功后,系統(tǒng)會自動提交。 手工提交模式:首先必須取消自動提交模式,然后通過commit()和rollback()提交和回滾事務。,22,JDBC基礎,JDBC_事務處理:,23,JDBC基礎,JDBC提供:DatabaseMetaData封裝數(shù)據(jù)庫相關信

7、息,24,JDBC基礎,JDBC提供:ResultSetMetaData封裝結果集相關信息,25,連接池,26,連接池,JDBC數(shù)據(jù)庫連接的建立及關閉是極耗系統(tǒng)資源的操作。之前獲得的數(shù)據(jù)庫連接,一個數(shù)據(jù)庫連接對象均為一個物理數(shù)據(jù)庫連接,每次操作都打開一個物理連接,使用完后立即關閉連接。頻繁地打開、關閉連接將造成系統(tǒng)性能低下。 數(shù)據(jù)庫連接池的解決方案是:當應用程序啟動時,系統(tǒng)主動建立足夠的數(shù)據(jù)庫連接,并將這些連接組成一個連接池。每次應用程序請求數(shù)據(jù)庫連接時,無須重新打開連接,而是從池中取出已有的連接使用,使用完后,不再關閉數(shù)據(jù)庫連接,而是直接將連接歸還給連接池。,27,連接池,數(shù)據(jù)庫連接池

8、基本工作原理:,28,連接池,自定義數(shù)據(jù)庫連接池(一):,29,連接池,自定義數(shù)據(jù)庫連接池(二):,30,連接池,自定義數(shù)據(jù)庫連接池(三):,31,連接池,自定義數(shù)據(jù)庫連接池(四):,32,連接池,自定義數(shù)據(jù)庫連接池(五):,33,連接池,非連接池與連接池對比(一):,34,連接池,非連接池與連接池對比(二):,35,連接池,開源的數(shù)據(jù)源(DBCP)(一):,36,連接池,開源的數(shù)據(jù)源(DBCP)(二):,37,連接池,開源的數(shù)據(jù)源(C3P0)(一):,38,連接池,開源的數(shù)據(jù)源( C3P0 )(二):,39,JDBC常見操作(重點),40,JDBC常見操作,基于數(shù)據(jù)庫的信息系統(tǒng),每張數(shù)據(jù)表基

9、本都包含如下操作(函數(shù)): 新增記錄、修改記錄、刪除記錄 根據(jù)主鍵獲取單個記錄 根據(jù)記錄數(shù) 獲取所有記錄 獲取分頁記錄 PS:以上僅為基本操作,實際中還需包含其它復雜操作。 以上操作中,數(shù)據(jù)的傳入傳出都以對象形式,所有每張數(shù)據(jù)表對應一個實體類(列名對應屬性名),41,JDBC常見操作,后續(xù)以選課系統(tǒng)sms數(shù)據(jù)庫中的class數(shù)據(jù)表作為操作范例:,42,PS:數(shù)據(jù)表的列與實體類的屬性一一對應,JDBC常見操作,純JDBC操作(一):,43,JDBC常見操作,純JDBC操作(二):,44,JDBC常見操作,純JDBC操作(三):,45,JDBC常見操作,純JDBC操作(四):,46,JDBC常見操

10、作,純JDBC操作(五):,47,JDBC常見操作,純JDBC操作(六):,48,JDBC常見操作,純JDBC操作(七):,49,JDBC常見操作,純JDBC操作(八):,50,JDBC常見操作,以上全部操作中,太多的代碼重復,如下: 每次都要獲取Connection 每次都要創(chuàng)建PreparedStatement 每次都要設置參數(shù)值 每次都要執(zhí)行Query或Update操作 每次都要關閉數(shù)據(jù)庫連接 因此可以進行代碼封裝重構,所以市面出現(xiàn)了眾多封裝后的JDBC操作工具類,此PPT中使用 Apache DBUtils 注意:對于Apache DBUtils,要求JavaBean(實體類)的屬性名

11、必須與結果集中的列名一一對應?。?!,51,JDBC常見操作,Apache DBUtils操作(一):,52,JDBC常見操作,Apache DBUtils操作(二):,53,JDBC常見操作,Apache DBUtils操作(三):,54,JDBC常見操作,Apache DBUtils操作(四):,55,JDBC常見操作,Apache DBUtils操作(五):,56,JDBC常見操作,Apache DBUtils操作(六):,57,DAO設計模式,58,DAO設計模式,Java EE架構大致分為如下幾層: Domain Object(領域對象)層:此層由系列的POJO(Plain Old J

12、ava Object,普通的、傳統(tǒng)的Java對象)組成,這些對象是該系統(tǒng)的Domain Object,往往包含了各自所需要實現(xiàn)的業(yè)務邏輯方法。 DAO(Data Access Object,數(shù)據(jù)訪問對象)層:此層由系列的DAO組件組成,這些DAO實現(xiàn)了對數(shù)據(jù)庫的創(chuàng)建、查詢、更新和刪除(CRUD)等原子操作。 業(yè)務邏輯層:此層由系列的業(yè)務對象組成,這些業(yè)務邏輯對象實現(xiàn)了系統(tǒng)所需要的業(yè)務邏輯方法。這些業(yè)務邏輯方法可能僅僅用于暴露DomainObject對象所實現(xiàn)的業(yè)務邏輯方法,也可能是依賴DAO組件實現(xiàn)的業(yè)務邏輯方法。 控制器層:此層由系列控制器組成,這些控制器用于攔截用戶請求,并調用業(yè)務邏輯組件

13、的業(yè)務邏輯方法,處理用戶請求,并根據(jù)處理結果轉發(fā)到不同的表現(xiàn)層組件。 表現(xiàn)層:此層由系列的JSP頁面、Velocity頁面、PDF文檔視圖組件組成。此層負責收集用戶請求,并將顯示處理結果。,59,DAO設計模式,大致上,Java EE 應用的架構如圖所示:,60,Model:對應數(shù)據(jù)庫表的實體類(屬性與表中字段對應),XxDao:接口,定義對XX表的“增刪改查”方法名 XxDaoImpl:對應接口的實現(xiàn)類,針對JDBC或Hibernate等的實現(xiàn),XxService:接口,實現(xiàn)業(yè)務邏輯,定義實現(xiàn)系統(tǒng)功能的方法名 XxServiceImpl:對應接口的實現(xiàn)類,調用Dao中的方法,外加某些業(yè)務邏輯

14、判斷,DAO設計模式,DAO實現(xiàn)(一):Model,61,DAO設計模式,DAO實現(xiàn)(二):Dao,62,DAO設計模式,DAO實現(xiàn)(三):JdbcUtil,63,DAO設計模式,DAO實現(xiàn)(四):DaoImpl(一),64,DAO設計模式,DAO實現(xiàn)(四):DaoImpl(二),65,DAO設計模式,DAO實現(xiàn)(四):DaoImpl(三),66,DAO設計模式,DAO實現(xiàn)(四):DaoImpl(四),67,DAO設計模式,DAO實現(xiàn)(四):DaoImpl(五),68,DAO設計模式,DAO實現(xiàn)(四):DaoImpl(六),69,DAO設計模式,DAO實現(xiàn)(五):Main驗證(一),70,DAO設計模式,DAO實現(xiàn)(五):Main驗證(二),71,答疑,Q & A,72,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!