資源描述:
《JSP訪問數(shù)據(jù)庫(一)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第3章JSP訪問數(shù)據(jù)庫(一)本課教學(xué)內(nèi)容JDBC簡介使用廠商驅(qū)動進(jìn)行數(shù)據(jù)庫連接JDBC操作集合類的使用多表查詢的實現(xiàn)JDBC簡介商業(yè)應(yīng)用的后臺數(shù)據(jù)一般存放在數(shù)據(jù)庫中,很明顯,可以通過Java代碼來訪問數(shù)據(jù)庫。在Java技術(shù)系列中,訪問數(shù)據(jù)庫的技術(shù)叫做JDBC,它提供了一系列的API,讓Java語言編寫的代碼連接數(shù)據(jù)庫,對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行添加、刪除、修改和查詢JDBC簡介JDBC(JavaDataBaseConnectivity)是Java數(shù)據(jù)庫連接的簡稱;由一組用Java語言編寫的類和接口組成,位于java.sql包中;提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計接口(AP
2、I),可以不必考慮所用數(shù)據(jù)庫而方便的對數(shù)據(jù)庫進(jìn)行增、刪、改、查的操作。JDBC簡介Java程序(API接口)JDBC驅(qū)動程序數(shù)據(jù)庫SQL命令結(jié)果java.sql包中常用JDBCAPI接口名說明DriverManager此類用于加載和卸載各種驅(qū)動程序并建立與數(shù)據(jù)庫的連接Connection此接口表示與數(shù)據(jù)的連接Statement此接口用于執(zhí)行SQL語句并將數(shù)據(jù)檢索到ResultSet中PreparedStatement此接口用于執(zhí)行預(yù)編譯的SQL語句ResultSet此接口表示了查詢出來的數(shù)據(jù)庫數(shù)據(jù)結(jié)果集JDBC簡介針對不同類型的數(shù)據(jù)庫,JDBC機(jī)制中提供了“
3、驅(qū)動程序”的的概念。對于不同的數(shù)據(jù)庫,程序只需要使用不同的驅(qū)動。常用的數(shù)據(jù)庫連接有兩種方式:廠商驅(qū)動連接和JDBC-ODBC橋接。廠商驅(qū)動連接數(shù)據(jù)庫JDBC簡介微軟公司提供了另一種解決的方案。在微軟公司的Windows中,預(yù)先設(shè)計了一個ODBC(OpenDatabaseConnectivity,開放數(shù)據(jù)庫互連)功能,由于ODBC是微軟公司的產(chǎn)品,因此它幾乎可以連接到所有在Windows平臺下運(yùn)行的數(shù)據(jù)庫,由它連接到特定的數(shù)據(jù)庫,不需要具體的驅(qū)動。而JDBC就只需要連接到ODBC就可以了JDBC簡介ODBC驅(qū)動連接數(shù)據(jù)庫本課程使用廠商驅(qū)動連接數(shù)據(jù)庫缺點:這類驅(qū)
4、動程序的彈性較差,由于是數(shù)據(jù)庫廠商自己提供的專屬驅(qū)動程序,往往只適用于自己的數(shù)據(jù)庫系統(tǒng),甚至只適合某個版本的數(shù)據(jù)庫系統(tǒng)。如果后臺數(shù)據(jù)庫換了一個或者版本升級了,則就有可能需要更換數(shù)據(jù)庫驅(qū)動程序優(yōu)點:跨平臺使用廠商驅(qū)動連接數(shù)據(jù)庫獲取廠商驅(qū)動到相應(yīng)數(shù)據(jù)庫廠商網(wǎng)站下載廠商驅(qū)動,如MySQL數(shù)據(jù)庫的廠商驅(qū)動mysql-connector-java-5.1.6-bin.jar將驅(qū)動包復(fù)制到WEB項目的WEB-INFlib目錄下確定連接配置確定使用的驅(qū)動程序類【Oracle驅(qū)動程序類】:oracle.jdbc.driver.OracleDriver【SQLServer驅(qū)
5、動程序類】:com.microsoft.jdbc.sqlserver.SQLServerDriver【MySQL驅(qū)動程序類】:com.mysql.jdbc.Driver確定連接的url(指明連接數(shù)據(jù)庫的地址、數(shù)據(jù)庫名稱、用戶名、密碼等信息)【Oracle的url】:jdbc:oracle:thin:@[IP]:1520:[sid]【SQLServer的url】:jdbc:microsoft:sqlserver://[IP]:1433;DatabaseName=[DBName];user=[user];password=[password]【MySQL的url
6、】:jdbc:mysql://[IP]:3306/[DBName]例如:jdbc:mysql://localhost:3306/schoolJDBC操作JDBC的操作分為4個步驟:通過JDBC連接到MySQL,并獲取連接對象在連接頁面中導(dǎo)入java.sql.*包<%@pagelanguage="java"import="java.util.*,java.sql.*"%>Class.forName(“com.mysql.jdbc.Driver");Connectionconn=DriverManager.getConnection("jdbc:mysql://
7、localhost:3306/school","root","123");JDBC操作使用Statement接口運(yùn)行SQL語句Statementstat=conn.createStatement();stat.executeQuery(SQL語句);//查詢或者stat.executeUpdate(SQL語句);//添加、刪除或修改JDBC操作處理SQL語句運(yùn)行結(jié)果,這和具體的操作有關(guān),后面詳述關(guān)閉數(shù)據(jù)庫連接:stat.close();conn.close();基本sql語句創(chuàng)建數(shù)據(jù)庫createdatabasedbname刪除數(shù)據(jù)庫dropdatabase
8、dbname創(chuàng)建新表createtabletabna