<a href="http://www.itheima.com"target="blank">ASP.Net+Unity開發</a>、
<a href="http://www.itheima.com"target="blank">.Net培訓</a>、期待與您交流!
JDBC用來連接數據庫,是比較重要的一部分內容,簡單總結一下JDBC編程步驟。JDBC編程步驟大致可以分爲以下幾個步驟進行。
1、我們首先要加載數據庫驅動。通常我們使用Class類的forName()靜態方法來加載驅動。如下代碼:
//加載驅動
Class.forName(driverClass)
上面代碼中的driverClass就是數據庫驅動類所對應的字符串。加載MySQL的驅動採用如下代碼:
//加載MySQL的驅動
Class.forName("com.mysql.jdbc.Driver");
而加載Oracle數據庫的驅動則採用如下代碼:
//加載Oracle數據庫
Class.forName("orcale.jdbc.driver.OracleDriver");
2、加載驅動之後,通過DriverManager獲取數據庫連接。DriverManager提供瞭如下的方法以獲取連接:
//獲取數據庫連接
DriverManager.getConnection(String url,String user,String pass);
當使用DriverManager獲取數據庫連接時,通常需要傳入三個參數:數據庫URL、登錄數據庫的用戶名和密碼。MySQL和Oracle的URL格式分別如下所示:
MySQL數據庫的URL寫法如下:
//jdbc:mysql://localhost:3306/databasename
Oracle數據庫的URL寫法如下:
jdbc:oracle:thin:@localhost:3306:databasename
其他數據庫的URL寫法這裏不再贅述。
3、通過Connection對象創建Statement對象。Connection創建Statement的方法有如下3個:
(1)、createStatement():創建基本的Statement對象。
(2)、prepareStatement(String sql):根據傳入的SQL語句創建預編譯的Statement對象。
(3)、prepareCall(String sql):根據傳入的SQL 語句創建CallableStatement對象。
4、使用Statement執行SQL語句。所有的Statement都有如下3個方法來執行SQL語句。
(1)、execute():可以執行任何SQL 語句。
(2)、executeUpdate():主要用於執行DML和DDL語句。
(3)、executeQuery():只能執行查詢語句,執行後返回代表查詢結果的ResultSet對象。
5、操作結果集。如果執行的SQL語句是查詢語句,則執行結果將返回一個ResultSet對象,該對象裏保存了SQL語句查詢的結果。程序可以通過操作該ResultSet對象來取出查詢結果。
下面程序簡單示範了JDBC編程,並通過ResultSet獲得結果集。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ConnMysql{
public static void main(String args[]) throws Exception{
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/mldn";
String user = "root";
String pass = "mysqladmin";
String sql ="select id,name,age from user ";
// 1.加載驅動程序
Class.forName(driver);
//2.通過DriverManager獲取數據庫連接;
Connection conn = DriverManager.getConnection(url,user,pass);
//使用Connection創建一個Statement對象
Statement stmt = conn.createStatement();
//4.使用Statement執行sql語句
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getInt(1) + "\t"
+ rs.getString(2) + "\t"
+ rs.getString(3) + "\t");
}
}
}