1. 程式人生 > >JDBC工具類及用法

JDBC工具類及用法

1、配置資料庫配置檔案
在src目錄下新建jdbc.properties檔案,已鍵值對的形式編寫資料庫配置資訊。

    driverClass=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/day07
    user=root
    password=1234

2、封裝JDBC工具類

package top.littlerich.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import
java.sql.SQLException; import java.sql.Statement; import java.util.ResourceBundle; public class JdbcUtils { static final String DRIVERCLASS; static final String URL; static final String USER; static final String PASSWORD; static { // 獲取ResourceBundle ctrl+2 l ResourceBundle bundle = ResourceBundle.getBundle("jdbc"
); // 獲取指定的內容 DRIVERCLASS = bundle.getString("driverClass"); URL = bundle.getString("url"); USER = bundle.getString("user"); PASSWORD = bundle.getString("password"); } static { try { Class.forName(DRIVERCLASS); } catch (ClassNotFoundException e) { e.printStackTrace(); } } // 獲取連線
public static Connection getConnection() throws SQLException { return DriverManager.getConnection(URL, USER, PASSWORD); } /** * 釋放資源 * * @param conn * 連線 * @param st * 語句執行者 * @param rs * 結果集 */ public static void closeResource(Connection conn, Statement st, ResultSet rs) { closeResultSet(rs); closeStatement(st); closeConn(conn); } /** * 釋放連線 * * @param conn * 連線 */ public static void closeConn(Connection conn) { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } conn = null; } } /** * 釋放語句執行者 * * @param st * 語句執行者 */ public static void closeStatement(Statement st) { if (st != null) { try { st.close(); } catch (SQLException e) { e.printStackTrace(); } st = null; } } /** * 釋放結果集 * * @param rs * 結果集 */ public static void closeResultSet(ResultSet rs) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } rs = null; } } }

3、使用JDBC工具類連線資料庫並進行CURD操作,用法示例:

//存放配置檔案
        Properties prop = new Properties();
        prop.load(new FileInputStream("src/dbcp.properties"));
        //設定
        //prop.setProperty("driverClassName", "com.mysql.jdbc.Driver");

        //建立連線池
        DataSource ds = new BasicDataSourceFactory().createDataSource(prop);

        Connection conn=ds.getConnection();
        String sql="insert into category values(?,?);";
        PreparedStatement st=conn.prepareStatement(sql);

        //設定引數
        st.setString(1, "c012");
        st.setString(2, "飲料1");

        int i = st.executeUpdate();
        System.out.println(i);
        JdbcUtils.closeResource(conn, st, null);