面試題:說下原生jdbc 操作資料庫流程?
阿新 • • 發佈:2019-01-05
原生的jdbc操作資料庫流程:
1.註冊驅動程式:Class.forName(“com.mysql.jdbc.Driver”);
2.使用驅動管理類來獲取資料連線物件:conn = DriverManager.getConnection(…);
3.獲取資料庫操作物件:Statement stmt = conn.createStatement();
4.定義操作的SQL語句
5.執行SQL:stmt.executeQuery(sql);
6.處理結果集:ResultSet,如果SQL前有引數值就設定引數值setXXX()
7.關閉物件,回收資料庫資源(關閉結果集–>關閉資料庫操作物件–>關閉連線)
public class JDBCTest {
/**
* 使用JDBC連線並操作mysql資料庫
*/
public static void main(String[] args) {
// 資料庫驅動類名的字串
String driver = "com.mysql.jdbc.Driver";
// 資料庫連線串
String url = "jdbc:mysql://127.0.0.1:3306/jdbctest";
// 使用者名稱
String username = "root" ;
// 密碼
String password = "1234";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 1、載入資料庫驅動( 成功載入後,會將Driver類的例項註冊到DriverManager類中)
Class.forName(driver);
// 2、獲取資料庫連線
conn = DriverManager. getConnection(url, username, password);
// 3、獲取資料庫操作物件
stmt = conn.createStatement();
// 4、定義操作的SQL語句
String sql = "select * from user where id = 100";
// 5、執行資料庫操作
rs = stmt.executeQuery(sql);
// 6、獲取並操作結果集
while (rs.next()) {
System.out.println(rs.getInt("id"));
System.out.println(rs.getString("name"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 7、關閉物件,回收資料庫資源
if (rs != null) { //關閉結果集物件
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) { // 關閉資料庫操作物件
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) { // 關閉資料庫連線物件
try {
if (!conn.isClosed()) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}