实现功能:小型的学生管理系统,数据库的增删改查功能
我们这个项目的数据库只有一个表stu,所以对数据库操作实际就是对stu表的数据进行增删改查。
所使用的软件:Eclipse+MySQL
主界面:
添加界面:
修改界面:
数据库操作详情可看我另一篇博客讲解:https://blog.nowcoder.net/n/b4aa2cb58ddd4228bedd53586fd2d02b
--创建数据库 --
CREATE DATABASE test;
--建表--
CREATE TABLE `STU` (
`stuID` varchar(30) NOT NULL,
`stuName` varchar (50) NOT NULL,
`stuSex` CHAR(2) NULL,
`stuAge` int,
`stuJg` varchar(30),
`stuDept` varchar(40),
PRIMARY KEY (`stuID`),
CONSTRAINT `stuSex` CHECK (`stuSex` in('男','女'))
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--表中插入数据 --
INSERT INTO `STU` VALUES ('sp001', '孙悟空', '男',21,'花果山','少林派');
INSERT INTO `STU` VALUES ('sp002','猪八戒','男',15,'高老庄','天上的');
INSERT INTO `STU` VALUES ('sp003','沙悟净','男',26,'流沙河','水里的');
INSERT INTO `STU` VALUES ('sp004','唐三藏','男',21,'长安','庙里的');
--查看表数据 --
select *
from stu
本项目下载地址:内含程序以及视频讲解
链接:https://pan.baidu.com/s/1N_YUeU1h2cCb65rRce_iGA
提取码:xrzu
这里使用了三种模式分别实现这个项目。
最大的特点:界面和操作是放在一起的;
优点:简单方便;
缺点:代码复用性差,可读性不好,可维护性不好
最大的特点:界面和操作是分开的;
缺点:复杂性较高。
与model1相比,其model2的改动在:model2的数据库操作(增删改查)都放到stuModel类中进行的,而model1的数据库操作是单独写到一个类中,比如查操作写在StuModel类,增写在StuAddDialog类中,改写在StuUpdataDialog类中,删写在StuManage类中。model2这样操作使得当修改数据库时更方便,不需要到每一个操作类中去一一修改,代码可读性以及复用性更高。
model3模型相比model2模型的优点在于:
对于model2模型,当数据模型非常少的时候,我们采用model2模型时没太大问题的,但当我们遇到数据模型比较多时,我们进行数据库操作时,多个数据模型对数据库直接操作,这样与model1界面程序对数据库直接操作类似,同样的数据库多次操作,所以遇到多数据模型时,我们采用model3模型,编写一个SqlHelper类,让这些数据模型调用SqlHelper类,然后让这个类对数据库直接操作。