先图为上
秦时明月汉时关,万里长征人未还,。
学习永无止境。
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 * 本类专门用于数据库的连接于关闭,在实例化本对象时,便意味着要进行数据库的开发
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