
使用JDBC API操作數據庫的基本步驟
分析使用JDBC API操作數據庫,進行CRUD基本步驟都相似。
- 加載和註冊驅動
- 獲取數據庫連接
- 準備操作執行SQL的Statement對象
- 執行SQL
- 調用Statement對象的executeUpdate(String sql)執行SQL語句進行插入、修改、刪除操作
- 調用Statement對象的executeQuery(String sql)執行SQL語句進行查詢操作
- 處理執行結果
- CUD操作,根據返回的int值判斷結果
- 查詢操作,根據返回ResultSet結果集,獲取查詢數據
- 釋放資源
總結:
- 加載和註冊驅動,整個項目做一次即可
- 獲取數據庫連接可以封裝到一個方法中
- 釋放資源可以封裝到一個方法中
編寫工具類JDBCUtils
package com.atguigu.utils; import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties; /* * 工具類: * 1、註冊驅動:只要運行一次 * 2、獲取連接 * 3、關閉資源 */public class JDBCUtils { private static String drivername; private static String url; private static String user; private static String password; private static Properties pro = new Properties(); static{ try { //加載,讀取jdbc.properties配置的信息 //pro.load的作用是把jdbc.properties文件中配置的信息,一一put到pro這個map中 pro.load(ClassLoader.getSystemClassLoader().getResourceAsStream(“jdbc.properties”)); // drivername = pro.getProperty(“key”) drivername = pro.getProperty(“drivername”); url = pro.getProperty(“url”); user = pro.getProperty(“user”); password = pro.getProperty(“password”); //註冊驅動,加載驅動 Class.forName(drivername); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static Connection getConnection()throws SQLException{ Connection conn = DriverManager.getConnection(url, user, password); return conn; } public static void closeQuietly(Connection conn){ try { if(conn!=null){ conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } public static void closeQuietly(Statement st){ try { if(st!=null){ st.close(); } } catch (SQLException e) { e.printStackTrace(); } } public static void closeQuietly(ResultSet rs){ try { if(rs!=null){ rs.close(); } } catch (SQLException e) { e.printStackTrace(); } } public static void closeQuietly(Statement st,Connection conn){ closeQuietly(st); closeQuietly(conn); } public static void closeQuietly(ResultSet rs,Statement st,Connection conn){ closeQuietly(rs); closeQuietly(st); closeQuietly(conn); } |
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/219086.html