資源描述:
《基于WEB的JAVA開發(fā)設(shè)計(jì)PPT課件》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、1基于WEB的JAVA開發(fā)設(shè)計(jì)--------JDBC數(shù)據(jù)庫訪問2主要內(nèi)容JDBC簡介JDBC驅(qū)動程序類型JDBC基本編程JDBC高級編程3JDBC簡介JDBC(JavaDatabaseConnectivity)是一組用來按照統(tǒng)一方式訪問數(shù)據(jù)庫的API。它向程序員提供了獨(dú)立于數(shù)據(jù)庫的統(tǒng)一接口,可以使開發(fā)人員不必考慮所用的特定數(shù)據(jù)庫便可編寫應(yīng)用程序,實(shí)現(xiàn)了Java與數(shù)據(jù)庫的互連。它能夠:提供對數(shù)據(jù)庫的跨平臺存取無需知道數(shù)據(jù)庫具體的位置無需要知道數(shù)據(jù)庫實(shí)現(xiàn)的具體細(xì)節(jié)4JDBCJava應(yīng)用1OracleMySQLSQLServerJava應(yīng)用n5JDBC驅(qū)動程序類型RD
2、BMSJDBC體系結(jié)構(gòu)JDBCAPIJDBC-ODBC橋(Type1)JDBC-Native(Type2)JDBC-NET(Type3)純JavaJDBC驅(qū)動(Type4)ODBC驅(qū)動NativeAPI(C/C++)NetServer(JNDI)6TYPE1TYPE1驅(qū)動程序:是JDBC-ODBC橋連接方式通常運(yùn)行在Windows系統(tǒng)上需要在客戶機(jī)上安裝ODBC驅(qū)動程序7TYPE2TYPE2驅(qū)動程序:需要在客戶機(jī)上安裝所用數(shù)據(jù)對應(yīng)的本地驅(qū)動(這些驅(qū)動通常是C或C++語言所編寫的)。該驅(qū)動將JDBC對數(shù)據(jù)庫的調(diào)用轉(zhuǎn)換成數(shù)據(jù)庫本地的API調(diào)用8TYPE39TYPE3網(wǎng)
3、絡(luò)服務(wù)可以采用多種技術(shù)來提高系統(tǒng)性能,這些服務(wù)包括:負(fù)載均衡緩存技術(shù)連接池技術(shù)容錯機(jī)制DBMS10TYPE4TYPE4是一種純Java的驅(qū)動實(shí)現(xiàn),他不需要任何客戶端配置。這也是最為常見的數(shù)據(jù)庫連接方式。11`12DriverManagerDriverManager類DriverManager(驅(qū)動程序管理器)類負(fù)責(zé)管理JDBC驅(qū)動程序。在使用JDBC驅(qū)動程序之前,必須先將驅(qū)動程序加載并向DriverManager注冊后才可使用,在程序中可以通過調(diào)用Class.forName()方法來完成。常用方法如下:PublicstaticsynchronizedConnect
4、iongetConnection(Stringurl,Stringuser,Stringpassword)throwsSQLException獲得url對應(yīng)數(shù)據(jù)庫的一個連接PublicstaticvoidsetLoginTimeout(intseconds)設(shè)置要進(jìn)行數(shù)據(jù)庫登錄時驅(qū)動程序等待的延遲時間13ConnectionConnection接口Connection對象是通過DriverManager.getConnection()方法獲得,代表與數(shù)據(jù)庫的連接,也就是在已經(jīng)加載的驅(qū)動程序和數(shù)據(jù)庫之間建立連接。Connection接口是JSP編程中使用最頻繁的接口
5、之一。常用方法如下:StatementcreateStatement()throwsSQLException創(chuàng)建一個Statement對象PrepareStatementprepareStatement(Stringsql)throwsSQLException創(chuàng)建一個Preparestatement對象,并能把SQL語句提交到數(shù)據(jù)庫進(jìn)行預(yù)編譯voidsetAutoCommit(Booleanautocommit)throwsSQLException設(shè)置事務(wù)提交的模式voidcommit()throwsSQLException提交對數(shù)據(jù)庫的更改,使更改生效voidr
6、ollback()throwsSQLException放棄當(dāng)前事務(wù)開始以來對數(shù)據(jù)庫所作的修改14StatementStatement接口Statement用來執(zhí)行靜態(tài)SQL語句。例如,執(zhí)行insert、update、delete語句,可以調(diào)用executeUpdate(Stringsql)方法,執(zhí)行select語句可以調(diào)用executeQuery(Stringsql)方法,該方法返回ResultSet對象。常用方法如下:ResultSetexecuteQuery(Stringsql)throwsSQLException執(zhí)行一個查詢語句并返回結(jié)果集intexecut
7、eUpdate(Stringsql)throwsSQLException執(zhí)行更新操作,返回更新的行數(shù)Booleanexecute(Stringsql)throwsSQLException執(zhí)行更新或查詢語句,返回是否有結(jié)果集15PreparedStatementPreparedStatement接口PreparedStatement接口繼承Statement接口,作為提高性能的一條措施,PreparedStatement提供了可以與查詢信息一起預(yù)編譯的一種語句類型。16CallableStatementCallableStatement是JDBC用來調(diào)用數(shù)據(jù)庫中存儲
8、過程的機(jī)制