Java se課程設計詳解——數據庫接口類(1)

開始作課程設計的時候根本無從下手,後來查閱資料後發現是先從數據庫開始的。整個課程設計須要用到的以下圖,今天總結一下數據庫接口!
在這裏插入圖片描述
數據庫接口須要用到兩個類,一個是DAO.java,另外一個是properties.java。javascript

一、properties.java文件

由於使用 JDBC 操做數據庫,基本流程是相同的,只是操做的內容不一樣,所以,可將數據庫的鏈接和有關操做封裝成類,後續操做數據庫時只要調用相關類的方法便可。php

步驟

(1)先建立一個以properties 爲後綴的文件,好比my.properties ,雙擊打開,而後在文件寫入數據庫的相關信息,以下:
propertise文件中的內容能夠這樣寫!
(2)將數據庫驅動程序、 UTL、用戶名、密碼等寫入到數據庫配置文件(即properties 文件, 它是一種特殊類型的 Map 結構,關鍵字與值都是字符串, 中間用「=」鏈接,既能夠用文件保存,也能夠從文件中裝入)中;html

(3)properties.java這個文件中的properties類專門讀取配置文件中參數:用 static塊加載配置文件,且提供 static 方法 String getValue(String key);java

package hr.dao;
import java.io.FileInputStream;
import java.util.Properties;

public class properties {
    private static Properties p = null;
    static {
        try {
            p = new Properties();
            p.load(new FileInputStream("mysql.properties"));// 加載配置文件
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    // 獲取鍵對應的值
    public static String getValue(String key) {
        return p.get(key).toString();
    }
}

建立一個properties類的對象,調用load()方法加載配置文件,經過一個文件輸入字節流來獲取文件內容,getValue()方法就是方便DAO類獲取文件中的內容,以達到封裝的效果。mysql

package hr.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;

/**
 * 數據庫接口類
 * 
 * @author DELL
 *
 */
public class DAO {

    private static DAO dao = new DAO(); // 聲明DAO類的靜態實例

    /**
     * 利用靜態模塊加載數據庫驅動
     */
    static {
        try {
            String driver=properties.getValue("driver");
            Class.forName(driver); // 加載數據庫驅動
        } catch (ClassNotFoundException e) {
            JOptionPane.showMessageDialog(null, "數據庫驅動加載失敗,請將驅動包配置到構建路徑中。\n" + e.getMessage());
            e.printStackTrace();
        }
    }

    

    /**
     * 得到數據庫鏈接的方法
     * 
     * @return Connection
     */
    public static Connection getConnection() {//必定要聲明爲靜態的方法
        try {
            Connection conn = null; // 定義數據庫鏈接
            String url = properties.getValue("url"); // 數據庫admin_class
            String username = properties.getValue("user"); // 數據庫的用戶名
            String password = properties.getValue("pwd"); // 數據庫密碼
            conn = DriverManager.getConnection(url, username, password); // 創建鏈接
            return conn; // 返回鏈接
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "數據庫鏈接失敗。請檢查數據庫用戶名和密碼是否正確。" + e.getMessage());
            return null;
        }
    }

    public static void main(String[] args) {
        System.out.println(getConnection());//後臺打印能夠檢測是否鏈接成功
    }

}

一樣DAO類把鏈接數據庫類的操做也封裝了起來,若是程序中哪裏須要鏈接數據庫直接調用DAO的getgetConnection()方法便可。須要注意:getConnection()方法已經聲明爲靜態(全局)方法,若是不聲明爲static,則其餘類沒法調用這個方法!sql

附上一個課程設計的視頻!哈哈,也能夠關注我公衆號【物聯網技術猿】數據庫

[video(video-geynaYB2-1576209828594)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=79055224)(image-https://ss.csdn.net/p?http://i2.hdslb.com/bfs/archive/bf4a42da69f85e7830417705b1083d4a7c0a71dd.jpg)(title-java se 課程設計)]ide

相關文章
相關標籤/搜索