開始作課程設計的時候根本無從下手,後來查閱資料後發現是先從數據庫開始的。整個課程設計須要用到的以下圖,今天總結一下數據庫接口!
數據庫接口須要用到兩個類,一個是DAO.java,另外一個是properties.java。javascript
由於使用 JDBC 操做數據庫,基本流程是相同的,只是操做的內容不一樣,所以,可將數據庫的鏈接和有關操做封裝成類,後續操做數據庫時只要調用相關類的方法便可。php
(1)先建立一個以properties 爲後綴的文件,好比my.properties ,雙擊打開,而後在文件寫入數據庫的相關信息,以下:
(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