MYSQL - JDBC鏈接

使用JDBC進行MYSQL數據庫鏈接

一共有六個步驟java

1. 加載註冊驅動

使用IDEA創建maven工程時,能夠直接在pom文件中進行mysql驅動包的導入;若不使用maven進行jar包導入,可自行進行添加;mysql

MySQL驅動的maven座標:sql

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.23</version>
</dependency>

在resources文件夾下創建database.properties文件,將數據庫信息寫入:數據庫

driver = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://localhost:3306/zzu?serverTimezone=UTC&characterEncoding=utf-8
user = root
password = XXXX

在util工具類中,利用靜態代碼塊進行驅動的註冊maven

static{
    pro = new Properties();
    try{
        pro.load(jdbcutils.class.getClassLoader().getResourceAsStream("database.properties"));
        Class.forName(pro.getProperty("driver"));
    }catch(Exception exce){
        exce.printStackTrace();
    }
}

2. 獲取鏈接

在util工具類中,利用靜態方法getConnection來生成數據庫鏈接函數

public static Connection getConnection(Connection conn){
    if(conn == null){
        try{
            conn = DriverManager.getConnection(pro.getProperty("url"),
                    pro.getProperty("user"),pro.getProperty("password"));
        }catch (Exception e){
            System.out.println("獲取鏈接出錯");
        }
    }
    return conn;
}

在主函數中,使用工具類util的靜態方法getConnection來獲取數據庫鏈接工具

Connection conn = null;
 conn = jdbcutils.getConnection(conn);

3. 獲取PreparedStatement

利用獲取的conn鏈接來進行PreparedStatem獲取url

PreparedStatement prop = conn.prepareStatement("select * from userinfo");

4. 執行SQL語句

使用prop進行SQL語句的執行設計

ResultSet rs = prop.executeQuery();

5. 遍歷結果集

使用ResultSet的next()方法來進行結果集的遍歷code

//括號中的參數名稱與數據庫表的列名一一對應
while(rs.next()){
        int id = rs.getInt("id");
        String college = rs.getString("college");
        String name = rs.getString("name");
        int picId = rs.getInt("pic_id");
        System.out.println(id + " " + college + " " + name + " " +picId );
        }

6. 關閉鏈接

在最後進行數據庫鏈接的關閉

在工具類utils中進行數據庫關閉靜態方法的設計

//先開後關的原則
private static void connClose(Connection conn, ResultSet rs,PreparedStatement prep){

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

    if(prep != null){
        try{
            prep.close();
        }catch (SQLException exception){
            exception.printStackTrace();
        }finally {
            prep = null;
        }
    }

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

經過以上六個步驟能夠獲取到數據庫中的數據,注意數據庫配置中的驅動URL時區問題

相關文章
相關標籤/搜索