JDBC(Java Database Connectivity即Java數(shù)據(jù)庫連接)實現(xiàn)了Java與數(shù)據(jù)庫的互連,是一個定義了一下內(nèi)容的API規(guī)范:
一、如何在Java applet、application 或者Servlet中與數(shù)據(jù)源互交。
二、如何使用JDBC驅(qū)動程序。
三、如何編寫JDBC驅(qū)動程序。
下面我給大家簡單介紹一下JDBC的編程步驟:
1.加載數(shù)據(jù)庫驅(qū)動。
2.獲得數(shù)據(jù)庫連接。
3.創(chuàng)建SQL語句。
4.執(zhí)行查詢。
5.遍歷結(jié)果集。
6.關(guān)閉數(shù)據(jù)庫連接。
下面通過一小段程序說明具體執(zhí)行步驟。
package com.dr1128;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Jdbctest {
public static void main(String[] args){
query();
}
public static void query(){
java.sql.Connection conn = null;
try{
//1加載數(shù)據(jù)庫驅(qū)動
Class.forName("com.mysql.jdbc.Driver");
//2獲得數(shù)據(jù)庫連接
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbc_db","root","1234");
//3創(chuàng)建語句
String sql = "select * from UserTbl";
//返回一個執(zhí)行sql的句柄
java.sql.Statement stmt = conn.createStatement();
//4執(zhí)行查詢
java.sql.ResultSet rs = stmt.executeQuery(sql);
//5遍歷結(jié)果集
while(rs.next()){
int id = rs.getInt(1);
String username = rs.getString(2);
String password = rs.getString(3);
int age = rs.getInt(4);
System.out.println(id+username+password+age);
}
}catch(Exception e){
e.printStackTrace();
}finally{
//6關(guān)閉數(shù)據(jù)庫連接
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
conn = null;
e.printStackTrace();
}
}
}
}
}
需要說明的是,上述代碼正確執(zhí)行,我們需要在該工程里面加載連接數(shù)據(jù)庫的jar包。根據(jù)不同的數(shù)據(jù)庫選取不同的jar包,本例用的是MySQL數(shù)據(jù)庫。當加載MySQL數(shù)據(jù)庫的jar包后,Class.forName("com.mysql.jdbc.Driver");語句執(zhí)行,使程序確定使用的是MySQL數(shù)據(jù)庫。
DriverManager 驅(qū)動程序管理器 在數(shù)據(jù)庫和相應驅(qū)動程序之間建立連接。conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/jdbc_db","root","1234");語句執(zhí)行,使程序連接到數(shù)據(jù)庫上。
Connection 對象代表與數(shù)據(jù)庫的連接,也就是在已經(jīng)加載的Driver和數(shù)據(jù)庫之間建立連接語句,getConnection函數(shù)中三個參數(shù)分別是url,user,password,我們也可以通過其它方法來連接。有關(guān)這方面的問題我將在其它文章敘述。
Statement 提供在基層連接上運行SQL語句,并且訪問結(jié)果。
ResultSet 在Statement執(zhí)行SQL語句時,有時會返回ResultSet結(jié)果集,包含的是查詢的結(jié)果集。
當我們創(chuàng)建SQL語句后,通過Statement來執(zhí)行,并將結(jié)果通過ResultSet 類型的rs連接上。 然后是遍歷結(jié)果集,來執(zhí)行相應的操作。最后執(zhí)行完對數(shù)據(jù)庫的操作后,要關(guān)閉數(shù)據(jù)庫連接。
至此,有關(guān)用JDBC來訪問數(shù)據(jù)庫的操作完成。