1. 程式人生 > 其它 >JDBC----關於JDBC的配置以及我的第一次CRUD操作

JDBC----關於JDBC的配置以及我的第一次CRUD操作

JDBC簡單來說就是Java與資料庫的一個介面,而介面本身是一種規範,我們可以通過JDBC來實現對資料庫的增刪改查。

首先是JDBC的配置。

所用軟體: IDE mysql mysqlworkbench

操作環境 : win10作業系統

首先新建一個專案,選擇java模組,配置好jdk,起好專案名稱和選擇專案路徑後,首先要配置JDBC必要的jar包。

去mysql官網上下載你要下載的jar包版本,這裡我用的版本是5.1.37。

一般來說從官網上會下載一個zip壓縮包,解壓後取出檔案裡面的.jar檔案即可。

為專案資料夾建立一個lib目錄,放置我們的jar包。

然後寫一份配置檔案,放置使用者名稱,密碼,與本地資料庫的連結,以及選擇要匯入的類。

username, password分別是本地資料庫的使用者名稱和密碼。

url是本地資料庫的連線地址,3306是資料庫埠號(預設3306) test是資料庫名稱

?useUnicode=true&characterEncoding=utf8     //預設不需要這段,但是如果不新增,那麼無法實現從idea往資料庫中插入中文字元

檔案編寫好之後就可以寫程式碼了。

首先寫我們的工具類,主要是對資料庫的連線和關閉資源。

public static Connection getConnection() throws IOException, ClassNotFoundException, SQLException {
        InputStream is 
= ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties"); Properties pros = new Properties(); pros.load(is); String user = pros.getProperty("user"); String password = pros.getProperty("password"); String url = pros.getProperty("url"); String driverClass
= pros.getProperty("driverClass"); //2、載入驅動 Class.forName(driverClass); //3、獲取連線 Connection conn = DriverManager.getConnection(url, user, password); return conn; }

前面三行程式碼都是傳入我們剛剛配置好的檔案

為什麼用檔案而不是直接在程式碼中寫呢?

因為這樣能實現資料與程式碼的解耦,我們程式碼的靈活性就大大提高了。

這個函式返回的是一個連線物件。

連線完成後也要寫對對應的關閉資源的程式碼。

而關閉資源時,我們實現增刪改操作所需要關閉的資源和實現查所需要關閉的資源又不同了。

因為我們實現增刪改時需要關閉連線資源和PreparedStatement資源。

而我們實現查詢操作時,還要多關閉結果集(ResultSet)資源。

/*
    關閉連線和Statement的操作
     */
    public static void closeResource(Connection conn, Statement ps)
    {
        try {
            if (ps != null) {
                ps.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

下面是關閉查詢資源的程式碼

public static void closeResource(Connection conn, Statement ps,ResultSet rs)
    {
        try {
            if (ps != null) {
                ps.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        try {
            if (rs != null) {
                rs.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

通過函式過載來實現。

這些就是工具類。