建立連接
1.裝載驅(qū)動(dòng)器
Class.forName("驅(qū)動(dòng)器類名稱");
Access驅(qū)動(dòng)器類名稱:sun.jdbc.odb.JdbcOdbcDriver
Class.forName("sun.jdbc.odb.JdbcOdbcDriver");
2.建立與數(shù)據(jù)庫(kù)的連接
Connection con = DriverManager.getConnection("jdbc:子協(xié)議:子名稱"添吗,"數(shù)據(jù)庫(kù)名,密碼");
Connection con =DriverManager.getConnection("jdbc:odbc:PIMS","Test","1234");
3.數(shù)據(jù)庫(kù)進(jìn)行操作
(1)創(chuàng)建 Statement 對(duì)象
建立了到特定數(shù)據(jù)庫(kù)的連接之后十厢,就可用該連接發(fā)送 SQL 語(yǔ)句贯卦。Statement 對(duì)象用 Connection 的方法createStatement 創(chuàng)建,如下列代碼段中所示:
Connection con = DriverManager.getConnection(url, "sunny","");
Statement stmt = con.createStatement();
為了執(zhí)行 Statement 對(duì)象甘桑,被發(fā)送到數(shù)據(jù)庫(kù)的 SQL 語(yǔ)句將被作為參數(shù)提供給 Statement 的方法:
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROMTable2");
(2)使用 Statement 對(duì)象執(zhí)行語(yǔ)句
Statement 接口提供了三種執(zhí)行 SQL 語(yǔ)句的方法:executeQuery拍皮、executeUpdate 和execute。使用哪一個(gè)方法由 SQL 語(yǔ)句所產(chǎn)生的內(nèi)容決定跑杭。
方法 executeQuery 用于產(chǎn)生單個(gè)結(jié)果集的語(yǔ)句铆帽,例如 SELECT 語(yǔ)句。
方法 executeUpdate 用于執(zhí)行 INSERT德谅、UPDATE 或 DELETE 語(yǔ)句以及 SQLDDL(數(shù)據(jù)定義語(yǔ)言)語(yǔ)句爹橱,例如 CREATE TABLE 和 DROP TABLE。INSERT窄做、UPDATE 或 DELETE語(yǔ)句的效果是修改表中零行或多行中的一列或多列愧驱。executeUpdate 的返回值是一個(gè)整數(shù),指示受影響的行數(shù)(即更新計(jì)數(shù))椭盏。對(duì)于CREATE TABLE 或 DROP TABLE 等不操作行的語(yǔ)句冯键,executeUpdate 的返回值總為零。
方法 execute用于執(zhí)行返回多個(gè)結(jié)果集庸汗、多個(gè)更新計(jì)數(shù)或二者組合的語(yǔ)句惫确。因?yàn)槎鄶?shù)程序員不會(huì)需要該高級(jí)功能,所以本概述后面將在單獨(dú)一節(jié)中對(duì)其進(jìn)行介紹蚯舱。
執(zhí)行語(yǔ)句的所有方法都將關(guān)閉所調(diào)用的 Statement 對(duì)象的當(dāng)前打開結(jié)果集(如果存在)改化。這意味著在重新執(zhí)行 Statement對(duì)象之前,需要完成對(duì)當(dāng)前 ResultSet 對(duì)象的處理枉昏。
應(yīng)注意陈肛,繼承了 Statement 接口中所有方法的 PreparedStatement 接口都有自己的executeQuery、executeUpdate 和 execute 方法兄裂。Statement 對(duì)象本身不包含 SQL語(yǔ)句句旱,因而必須給 Statement.execute 方法提供 SQL 語(yǔ)句作為參數(shù)。PreparedStatement 對(duì)象并 不將SQL 語(yǔ)句作為參數(shù)提供給這些方法晰奖,因?yàn)樗鼈円呀?jīng)包含預(yù)編譯 SQL 語(yǔ)句谈撒。CallableStatement 對(duì)象繼承這些方法的PreparedStatement 形式。對(duì)于這些方法的 PreparedStatement 或 CallableStatement版本匾南,使用查詢參數(shù)將拋出 SQLException啃匿。