Java設(shè)計(jì):JDBC連接數(shù)據(jù)庫的方法介紹
掃描二維碼
隨時(shí)隨地手機(jī)看文章
一、使用JDBC連接數(shù)據(jù)庫
1.使用JDBC-ODBC橋驅(qū)動(dòng)程序連接數(shù)據(jù)庫
基本步驟:
(1)加載并注冊數(shù)據(jù)庫驅(qū)動(dòng)
(2)通過DriverManager獲取數(shù)據(jù)庫連接
(3)通過ConnecTIon對象獲取Statement對象
(4)使用Statement接口執(zhí)行SQL語句
(5)操作ResultSet結(jié)果集
(6)關(guān)閉連接,釋放資源
2.下面進(jìn)行代碼演示
1.注冊數(shù)據(jù)庫驅(qū)動(dòng)程序的語法格式如下:
DriverManager.registerDriver(Driverdriver)
或者
Class.forName(“DriverName”);
2.創(chuàng)建數(shù)據(jù)庫連接
Stringurl=“jdbc:odbc:student”;
//student是在數(shù)據(jù)源管理器中創(chuàng)建的數(shù)據(jù)源名字
ConnecTIoncon=DriverManager.getConnecTIon(url);
//一下語句是采用了一種無數(shù)據(jù)源連接數(shù)據(jù)庫的方式
con=DriverManager.getConnecTIon(“jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb)};
DBQ=d:\\xsgl.mdb”)
3.獲取Statement對象
可見之前連載的三種成員方法創(chuàng)建Statement對象、PreparedStatement對象、CallableStatement對象
4.執(zhí)行SQL語句
所有的Statement都有以下三種執(zhí)行SQL語句的方法
(1)execute():可以執(zhí)行任何SQL語句
(2)executeQuery():執(zhí)行查詢語句,返回ResultSet對象
(3)executeUpate():執(zhí)行增刪改操作
5.獲得結(jié)果結(jié)合ResultSet對象,在進(jìn)行一系列操作。
舉例:
packagecom.bjpowernode.java_learning;
importjava.sql.Statement;
importjava.sql.Connection;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclassD134_1_JDBCConnection{
publicstaticvoidmain(String[]args){
Statementstmt=null;
ResultSetrs=null;
Connectionconn=null;
try{
//1.注冊數(shù)據(jù)庫的驅(qū)動(dòng)程序
Class.forName(“com.hxtt.sql.access.AccessDriver”);
//2.通過DriverManager獲取數(shù)據(jù)庫連接
conn=DriverManager.getConnection(“jbdc:Access:///e:xsgl.mdb”);
//3.通過Connection對象獲取Statement對象
stmt=conn.createStatement();
//4.使用Statement執(zhí)行SQL語句
Stringsql=“select*fromstudentInfo”;
rs=stmt.executeQuery(sql);
//5.操作ResultSet結(jié)果集
System.out.println(“studentID|studentName|studentSEX”);
while(rs.next()){
intid=rs.getInt(“studentID”);//通過列名獲取指定字段的值
Stringname=rs.getString(“studentName”);
Stringpsw=rs.getString(“studentSEX”);
System.out.println(id+“|”+name+“|”+psw);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
//6.回收數(shù)據(jù)庫資源
if(rs!=null){
try{
rs.close();
}catch(SQLExceptione){
e.printStackTrace();
}
rs=null;
}
if(stmt!=null){
try{
stmt.close();
}catch(SQLExceptione){
e.printStackTrace();
}
stmt=null;
}
if(conn!=null){
try{
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
conn=null;
}
}
}
}
3.注意點(diǎn)
JDK1.7以后的版本不再包含Access橋接驅(qū)動(dòng)程序,因此不再支持JDBC-ODBC橋接方式,需要下載Access驅(qū)動(dòng)程序的jar包(Access_JDBC30.jar),而JDK1.1到JDK1.6都自帶jar包,不需要下載。
下載完成后把Access_JDBC30.jar包放到JDK的lib文件夾里,之后修改環(huán)境變量CLASSPATH,在其中加上這個(gè)jar包,路徑為jar包的絕對路徑,例如:C:\ProgramFiles\Java\jre1.8.0_65\lib\Access_JDBC30.jar。如果CLASSPATH中已經(jīng)有了其他的值,最后添加該包就可以了。然后再工程里面設(shè)置好,至此就可以正常連接數(shù)據(jù)庫了,但是驅(qū)動(dòng)的名稱就不是sun.jdbc.odbc.JdbcOdbcDriver,而是com.hxtt.sql.access.AccessDriver,數(shù)據(jù)庫路徑也可以采用直連,URL可以設(shè)置為jdbc:Access:///d:MYDB.accdb。
二、源碼:
D134_1_JDBCConnection.java
https://github.com/ruigege66/Java/blob/master/D134_1_JDBCConnection.java
以上就是Java如何使用JDBC連接數(shù)據(jù)庫的詳細(xì)內(nèi)容。