因为本次实训参加了syb培训,没能和同学们在机房一起参加实训,用的是剩下的时间勉强能把程序写出来。基本上是最后一天做完的,改包名,改代码,打代码,程序一直报错。在同学大家的帮助下才把代码完成了。
以前是功能知道,代码不知道,现在是代码知道,功能不知道,总结就是技术不到。
实训这几天都在上SYB课,没能够听到老师讲课,人生中的不幸与幸运交加在一起。
回去老师的博客,还是不能够把老师的代码消化透彻,最后只能够粗狂的了解大致流程,然后把这个系统敲出来。
然后来说一下我敲这个学生管理系统的步骤吧
第一:建立思维导图,梳理自己的思路
第二:建立学生管理系统这个包,然后在里面建立子包help、images、lib三个包
第三:在src下面建立以我名字命名的包,net.cf.student包—(net.cf.student这里的cf是自己的名字)
第四:在建立的net.cf.student包下面建立文件bean,在里面写了4个大类,(就是在很高兴的实训第二天的微博里,自己看着都觉得有点儿水得搞笑)分别是Collage、Status、Student、User。他们分别表示学校实体类、状态实体类、学生实体类、用户实体类。
第五:再src里面创建dbutil包,里面写了数据库链接管理的方法
第六:然后再建立dao包,在里面写了四个访问接口对应bean包里的四个大类,再创建了个子包impl,在里面写了实现这四个访问接口的对应方法。再建立一个test包,在里面写这四个访问接口方法的测试,查看是否正确。
第七:建立一个service包,在里面写四个服务接口去调用四个访问接口,再在里面建立个子包impl,在里面写实现这四个服务接口的对应方法,再在test包里写这个四个服务接口方法的测试,查看是否正确。
第八:创建一个包app,在里面写应用程序类Application,在这个类里面存放全局数据
第九:创建创建gui包,在这个包里面写一些界面方法:AddStudentFrame(添加学生记录)、BrowseStudentsFrame(浏览学生记录)、ChangePasswordFrame(修改用户密码)、CountStudentsByClassFrame(按班级统计人数)、CountStudentsByDepartmentFrame(按系部统计人数)、CountStudentsBySexFrame(按性别统计人数)、DeleteStudentByIdFrame(按学号删除学生记录)、DeleteStudentByClass(按班级删除学生记录)、DeleteStudentByDepartmentFrame(按系部删除学生记录)、EditStudentFrame(编辑学生记录)、FindStudentByIdFrame(按学号查询学生记录)、FindStudentByClassFrame(按班级查询学生记录)、FindStudentByDepartmentFrame(按系部查询学生记录)、FindStudentByNameFrame(按姓名查询学生记录)、LoginFrame(登陆窗口)、MainFrame(主界面窗口)、ResgisterFrame(注册窗口)、SetCollageInfoFrame(设置学校信息)、SetStatusBarFrame(设置状态栏信息)
此次实训学生管理系统(MySQL版)1.0的大致步骤就是这样的啦~
在敲的过程中,经常遇到困难,比如不知道lib里面的数据库怎么创,然后就把室友的数据拿过来用了,然后lib,images都是直接托文件,行了个方便,但是帮助文件显示不出来,直到最后还是没能够显示出来。但是我看到老师笔记里说在这个管理系统里面还有些bug,我还是做了写修改,比如性别可以为任意的字符,而不是只能用男女,我做了点改进,代码如下:
//对性别经行男女限制
if(!txtSex.getText().trim().equals(“男”) && !txtSex.getText().trim().equals(“女”)){
JOptionPane.showMessageDialog(null, “性别只能为男或女!”, “增加性别”, JOptionPane.WARNING_MESSAGE);
txtSex.requestFocus();
return;
}
还有用户注册也是有bug的,空密码空用户名也能注册,这样不好,我也做了点修改,让他不能空用户,空密码注册,代码如下:
// 对用户名进行非空校验
if (username.equals("")) {
JOptionPane.showMessageDialog(null, “用户名不能为空!”, “学生信息管理系统”, JOptionPane.WARNING_MESSAGE);
txtUsername.requestFocus();
return;
}
// 对密码进行非空校验
if (password.equals("")) {
JOptionPane.showMessageDialog(null, “密码不能为空!”, “学生信息管理系统”, JOptionPane.WARNING_MESSAGE);
txtPassword.requestFocus();
return;
}
总的来说这次实训感觉到做一个系统还是有难度的,在这里面要学习的东西很多,我学到了一个大致的过程,尽管很多地方不会,但是我在实训过程中找到了一种学习方法,就是 看老师给的资料–模仿学习做,不会的丢着往下做–遇到报错问题的先自己查找资料–还不会的就问问同学–解决问题了自己也就成长了。总的来说就是自己先做,不理解的先不管,往后面做,遇到报错找方法解决,做完了再去看看自己开始不理解的那些,感觉自己也能够理解为什么要这样做了。
!