JDBC入門--初學者必看
JDBC入門
其實在學完數據庫之後,我們就會進入到JDBC的學習和使用。本篇會進行鍼對初學者的一些基本的學習內容進行概述。進階內容可以私聊博主進行更新。
什麼是JDBC
JDBC(Java DataBase Connectivity)Java數據庫連接。
學習數據庫的時候,我們會通過cmd或者Navicat進行連接並訪問操作數據庫。那麼在實際開發中卻大多數採用Java代碼進行實現訪問數據庫。
爲什麼會有JDBC
在SUN公司會提供一種數據庫的訪問規則、規範, 由於數據庫種類較多,並且java語言使用比較廣泛,sun公司就提供了一種規範,讓其他的數據庫提供商去實現底層的訪問規則。 我們的java程序只要使用sun公司提供的jdbc驅動即可。
如何使用JDBC
-
數據的準備-------寫一個User員工數據庫表
-
創建一個Java工程
-
寫一個測試類
-
開始進行實現JDBC程序
JDBC之六脈神劍
以下實現遍歷去查詢數據庫表中的所有的記錄。
//準備工作
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
少商劍----實現數據庫的驅動
Class.forName("com.mysql.jdbc.Driver");
商陽劍----獲取數據庫的連接
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/dd_db?characterEncoding=utf-8",
"root", "root");
中衝劍----獲取傳輸器
stat = conn.createStatement();
關衝劍----利用傳輸器發送SQL到服務器中去執行,然後接收執行結果
String sql = "select * from user";
rs = stat.executeQuery( sql );
少澤劍----處理結果(暫時放到控制檯打印查看結果)
while( rs.next() ) {
int id = rs.getInt("id");
//int id = rs.getInt( 1 );
String name = rs.getString("username");
//String name = rs.getString( 2 );
String password= rs.getString("password");
//String password = rs.getString( 3 );
System.out.println( id+":"+name+":"+password );
}
少衝劍---- 釋放資源
if( rs != null ) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
rs = null;
}
}
if( stat != null ) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
stat = null;
}
}
if( conn != null ) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
conn = null;
}
}
}
整個代碼需要在try-catch-finally中去處理。
完整代碼如下:
public class JdbcTest {
public static void main(String[] args) {
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try {
//1.註冊數據庫驅動
Class.forName("com.mysql.jdbc.Driver");
//2.獲取數據庫連接
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/dd_db?characterEncoding=utf-8",
"root", "root");
//3.獲取傳輸器
stat = conn.createStatement();
//4.利用傳輸器發送SQL到服務器執行,接收執行結果
String sql = "select * from account";
rs = stat.executeQuery( sql );
//5.處理結果(將查詢的結果輸出到控制檯)
while( rs.next() ) {
int id = rs.getInt("id");
//int id = rs.getInt( 1 );
String name = rs.getString("username");
//String name = rs.getString( 2 );
String password= rs.getString("password");
//String password = rs.getString( 3 );
System.out.println( id+":"+name+":"+password );
}
System.out.println("OK...");
} catch (Exception e) {
e.printStackTrace();
} finally {
//6.釋放資源
if( rs != null ) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
rs = null;
}
}
if( stat != null ) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
stat = null;
}
}
if( conn != null ) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
conn = null;
}
}
}
}
}
下一篇會講到如何寫工具類的使用。感謝閱讀,關注一波拉。