爲支持Java程序的數據庫操作功能,Java語言採用了專門的數據庫編程接口,用於在Java程序中實現數據庫操作功能並簡化操作過程。JDBC支持基本的SQL語句,提供多樣化的數據庫連接方式。
首先需要解釋幾個概念:
1.URL
JDBC技術使用數據庫URL來標識目標數據庫。其性質和標識常規網絡資源的URL類似,主要由”協議名”,”子協議名”和”子名稱”三部分組成,具體語法格式如下:
jdbc:<子協議名>:<子名稱>
jdbc:mysql://localhost:3306/yaoyao --連接本地mysql下的數據庫
jdbc:oracle:thin:@166.111.78.98:1521:orcl
子協議名規定數據庫及連接方式
子名稱規定IP地址,端口號,數據庫實例名等
2.JDBC驅動
數據庫驅動程序(Driver)可使數據庫開展工作,以實現數據庫的功能。
JDBC驅動程序分爲四類:
1>JDBC-ODBC橋
利用ODBC驅動程序實現JDBC功能,該驅動程序把標準的JDBC調用轉換成對應的ODBC調用,再由ODBC數據庫源調用數據庫本地驅動程序。
2>Java到本地API
3>Java到網絡協議
4>Java到數據庫協議
package cn.edu.hdu.mysql;
import java.sql.*;
public class Test {
public static void main(String args[]) throws SQLException{
//驅動程序名
String driver = "com.mysql.jdbc.Driver";
//URL
String url = "jdbc:mysql://localhost:3306/yaoyao";
//MySQL設置用戶名
String user = "root";
//MySQL配置時的密碼
String password = "root";
try{
//加載驅動
Class.forName (driver);
並返回一個connection對象一個connection對象
Connection conn = DriverManager.getConnection(url,user,password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to
atabase!");
//使用statement對象執行SQL操作
Statement stmt = conn.createStatement();
String sql = "select * from 常住人口信息 where 所屬街道=='五常街道';
//使用statement對象的executeQuery()方法執行SELECT語句
//使用statement對象的executeUpdate()方法執行INSERT,UPDATE,DELETE語句
//使用statement對象的execute()方法,執行CREATE或者DROP語句。
ResultSet rs = stmt.executeQuery(sql);
System.out.println("執行結果如下所示:");
while(rs.next()){
int ID = Integer.parseInt(rs.getString("ID"));
String sex = rs.getString("性別");
String birth = rs.getString("出生日期");
String number = rs.getString("戶號");
System.out.println(ID+"性別:"+sex+"出生日期:"+birth+"戶號"+number);
}
rs.close();
//關閉結果集
stmt.close();
//關閉statement對象
conn.close();
//關閉connection對象
}catch(ClassNotFoundException e){
}
}
}
executeQuery()方法的返回值類型ResultSet是JDBC編程中最常使用的數據結構,它以行的形式包含。特別說明:一個Statement對象不能同時維護多個查詢結果集(ResultSet對象),當我們調用其方法時,該Statement對象當前打開的結果集將被自動關閉,這意味着在繼續利用Statement對象執行其他SQL語句之前,應該完成前數據集的處理。當有需要使用多個結果集,則應該創建前數據集的處理。當有需要使用多個結果集,則應該創建多個Satement對象。**對當前數據集的處理。當有需要使用多個結果集,則應該創建多個Statement對象。