java学习的第三阶段感想(考核例子-教务管理系统)

这次的考核例子是做一个类似于大学的教务管理系统,因为这次需要三个人合作,所以对项目的需求分析就显得非常的重要,首先需要对项目进行功能的分析,这个可以参考大学的教务管理系统,那个肯定比较完美,比较强大。因为是教务管理系统,所以肯定有学生的一些操作,比如说学生可以选课,学生可以查询成绩,学生可以查看自己的个人信息和上课的课程表之类的,所以这里就用到了MySQL数据库的知识,用到的就是数据库基本sql语句,增、删、改、查。因此需要学会MySQL的这些基本知识。

在用java编写程序之前,首先要建一个数据库,需要用到很多的表,并且这些表必然有很多的关联,再建数据表时,一定要遵循数据表的前三个范式,这是最基本的,第一范式:字段不可分。简单地说,原子性 字段不可再分,否则就不是关系数据库。第二范式:要有主键,非主键字段依赖主键。例如,建一张表,字段有学号, 姓名, 年龄, 课程名称, 成绩, 学分,这个表很明显说明了两个事务:学生信息和课程信息,这样就不符合第二范式。第三范式:非主键字段不能相互依赖。我认为这里有一个很重要的问题,数据冗余的问题,就是每条记录都含有相同信息。弄清楚了这个问题就开始建数据表字段,所建的字段一定要规范,尽量用熟悉、准确的英文单词或缩写。然后就是字段类型的选取,一些有固定长度的字段,例如学号用char(10),姓名用char(10),日期要用时间戳就是用int(10)。然后数据库建好之后就不能再修改了,因为之后的编程几乎都用到数据库,所以如果以后想改数据库几乎是不可能的,一定要确认数据库没问题了,再进行java的编程。对了,在建数据库时,可以用到很多的工具比如Navicat for MySQL,SQLYog等等,使用这些工具就很简单的来管理数据库的数据库等。

在进行java变成书写时,用到了java的JDBC(全称Java  Database  Connection),它是专门用来链接MySQL数据库的,就是java的SUN公司提供了一些接口,让其他的厂商提供相关的实现类,比如这里用到了MySQL数据库,那么就有Oracle公司提供相关的实现类,这些实现类也常称为数据库的驱动。数据库的连接流程如下图,之后要说的就是处理sql语句,这里执行sql语句常用的是Statement类的execute()方法,这里有一个小小的知识点,也是比较重要的,叫做事务,简单地说就是如果执行多条数据,其中有一条数据执行时出现问题了,但是其他的数据又不想改变,想恢复到原来的数据,那么就用到了事务它可以做到,首先要用Connection类中的setAutoCommit(false);一般把参数设置为false,JDBC中默认是true,自动提交事务,然后执行多条sql语句,最后调用Connection的commit()方法手动提交事务(前提是方法setAutoCommit()中的参数必须为false),然后重点来了,提交完事务之后要调用Connection的rollback()方法回滚,一旦在执行sql语句是出错,所有数据都会恢复到原来,对数据库不造成影响。

最后在写程序时,可以用到Java的MVC(Model View Controller)的框架,就是三个层次模型层、视图层、控制层,这样会使整个代码看起来非常严密,并且可以减少许多代码重复的麻烦。最后说的就是团队合作的问题,主要就是代码的融合,交流也非常重要,合作者之间的分工一定要明确,这对于初学者来说一定是一个头疼的问题,这里可以学会用TortoiseSVN来进行版本的控制,当然也可以用到github。

在这一阶段里,我感觉学到的东西真的很多,把java的很多东西都用到了,也对数据库有了基本的认识,不管怎样以后要学的东西还有很多很多,加油,为了自己的前途努力奋斗!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值