最基础最简单的数据库连接类怎么写?附注释

本小节既然要进行数据库的连接,首要考虑的是进行数据库的连接取得与关闭才可以正常操作数据库,由于几乎所有的数据库连接才做都是固定的步骤,那么就可以简单的定义一个DatabaseConnection类,这个类主要负责数据库的连接对象的取得以及数据库的关闭操作,由于本小节是一个专门用于数据库连接的操作,因此可以将其保存在config子包中,具体代码如下:

package com.crs.JDBC;

import java.sql.Connection;
import java.sql.DriverManager;
/**
 * @author zhaolong
 * 
 * 本类专门负责数据库的连接与关闭操作,在实例化本类对象时就意味着要进行数据库的快开发
 * 所以在本类的构造方法里要进行数据库驱动的加载与数据库连接取得
 */
public class DataBaseConnection {
    private static String url = "jdbc:mysql://localhost:3306/crs"; // 数据库连接地址
    private static String user = "root"; // 数据库用户名
    private static String password = "root"; // 数据库密码
    private static String driver = "com.mysql.cj.jdbc.Driver"; // 数据库驱动
    private Connection conn = null; // 数据库连接对象
    public DataBaseConnection() { // 构造方法
        try {
            Class.forName(driver); // 加载数据库驱动
            this.conn = DriverManager.getConnection(url, user, password);// 获取数据库连接对象
        } catch (Exception e) {
            e.printStackTrace(); // 打印异常信息
        }
    }
    /**
     * 获取数据库连接:在构造方法里面为conn对象进行实例化,可以直接取得数据库的连接对象
     * 由于所有的操作都是基于数据库完成的,如果数据库无法取得连接,也就意味着所有的操作都可以停止了
     * @return
     */
    public Connection getConnection() { // 获取数据库连接的方法
        return this.conn; // 返回数据库连接对象
    }
    /**
     * 关闭数据库连接:在实例化本类对象时就已经取得数据库的连接对象,所以关闭数据库连接对象
     * 的操作也可以在构造方法中完成
     */
    public void close() {
        if (this.conn != null) {  // 判断数据库连接对象是否为空
            try {
                this.conn.close(); // 关闭数据库连接对象
            } catch (Exception e) {
                e.printStackTrace(); // 打印异常信息
            }
        }
    }
}

整个操作过程中,DataBaseConnection类只是无条件地提供了数据库连接,每当有线程实例化DataBaseConnection类后都会自动取得新的Connection对象,所以每个线程都一定在操作的最后调用close();方法关闭数据库连接。