先圖為上
秦時明月漢時關,萬里長征人未還,。
學習永無止境。
1.Start
1.項目目的:
開發工具: Idea + Mysql + JAVASE
1.其實簡單來說就是實現兩張數據表的基本操作,
1.添加
2. 刪除
3.修改
4.查詢.
不過,有些區別的是,我們要將這兩張表關聯起來,然后通過javafx顯示出來; 在這個項目中,我們使用學生信息表和密碼表, 因此,用學號來將兩張表關聯.
學生表:
密碼表:
我暫時學習的是Mysql數據庫.
所以在運行時,需要修改專門連接數據庫的DatabaseConnection類中的URL需要修改。..
程序完整項目如下:
dababase --- DatabaseConnction.java類
log --- atom ... 原子層,定義一些直接對數據庫的操作,完全與邏輯處理分離,比如只取數據庫的學生數據或者,查詢記錄條數等等
--- service 業務處理層,一個業務處理可能去調用多個原子層的操作,來實現邏輯
--- vo 實體類,即將數據庫的表映射到一個Java簡單類中.
--- test 存放一些測試的函數
menu --- javafx,, 具體的界面層,這個層是我寫的,所以具有可變性,大家可以設計自己的界面...,
stu ---與log相似
如下圖
//因為采用DAO設計模式,有了層次,減少了API之間的耦合性,
//具體代碼如下:
database包:
1 package database; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.SQLException; 6 7 /** 8 * 本類專門用於數據庫的連接於關閉,在實例化本對象時,便意味着要進行數據庫的開發<br> 9 * 所以在本類的構造方法中要進行數據庫驅動的加載和數據庫連接對象的取得 10 */ 11 public class DatabaseConnection { 12 private static final String DBS_NAME = "com.mysql.cj.jdbc.Driver" ; 13 private static final String DBS_URL = "jdbc:mysql://127.0.0.1:3306/test?useSSL=true" ; jdbc是主協議,mysql是次協議,至於后面的useSSL別人也這么寫,
那我們也這么寫,(不寫警告), true / false 隨意寫 14 private static final String DBS_USER = "scott" ; 15 private static final String DBS_PASSWORD = "tiger" ; 16 17 private Connection conn ; 18 public DatabaseConnection() { 19 try { 20 Class.forName(DBS_NAME); 21 this.conn = DriverManager.getConnection(DBS_URL, DBS_USER, DBS_PASSWORD); 22 } catch (Exception ex) { 23 ex.printStackTrace(); 24 } 25 } 26 //獲取一個數據庫的連接對象 27 public Connection getConn() { 28 return this.conn ; 29 } 30 public void close() { 31 if(this.conn != null) { 32 try { 33 this.conn.close(); 34 } catch (SQLException ex) { 35 ex.printStackTrace() ; 36 } 37 } 38 } 39 }
//------------------------------------------------------卧室分解先----------------------------------//
//這里的寫的比較累贅,應該將所有的dao就放在dao,所有的service就放在service,不應該將兩張表分開.
也就是說總共分成
database //這里也有缺點,不應該將連接的數據域寫死, 應該放到一個配置文件中,也就是以.properties為后綴得文件.Java中有一個叫ResourceBundle的借口,是專門處理配置文件的,他通過ResourceBundle.getResourceBundle(fileName : String)返回一個具體的實現類,然后通過getString("key")鍵值對的形式讀取資源.至於配置文件么:
里面是這樣寫的
driver=com.mysql.cj.jdbc.Driver #driver是自定義的,
url=.....
username=...
password=...
dao 無論是stu表還是log表都應放在一起,減少不必要包的個數.
service
test