注册 登录
编程论坛 J2EE论坛

[原创]贡献一个学生成绩管理系统的代码

神vLinux飘飘 发布于 2006-06-21 21:43, 22918 次点击
https://bbs.bc-cn.net/viewFile.asp?BoardID=12&ID=8765

NetBeans5.5编写
Struts1.2.8 + Hibernate3.1 + MYSQL5.0

数据库结构为:
DROP DATABASE IF EXISTS ENOVA;
CREATE DATABASE ENOVA;
USE ENOVA;

CREATE TABLE STUDENT (
ID int(11) NOT NULL auto_increment,
NUMBER char(15) NOT NULL UNIQUE,
NAME varchar(4) NOT NULL ,
SEX varchar(1) default NULL,
NATION varchar(10) default NULL,
ENROLL_YEAR YEAR(4) NOT NULL ,
BIRTHDAY date default NULL,
BIRTH_PLACE varchar(50) default NULL,
PASSWORD char(15) NOT NULL ,
CLASS_ID int(11) NOT NULL ,
PRIMARY KEY (ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE TEACHER(
ID int(11) NOT NULL auto_increment,
NAME varchar(4) default NULL ,
SEX varchar(1) default NULL,
USERNAME char(15) NOT NULL UNIQUE ,
PASSWORD char(15) NOT NULL ,
PRIMARY KEY (ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE DEPARTMENT(
ID int(11) NOT NULL auto_increment,
NAME varchar(20) NOT NULL,
PRIMARY KEY (ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE SPECIAL(
ID int(11) NOT NULL auto_increment,
NAME varchar(20) NOT NULL,
DEPARTMENT_ID int(11) NOT NULL ,
PRIMARY KEY (ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE CLASS(
ID int(11) NOT NULL auto_increment,
NAME varchar(20) NOT NULL,
TEACHER_ID int(11) NOT NULL ,
SPECIAL_ID int(11) NOT NULL ,
YEAR year(4) NOT NULL ,
PRIMARY KEY (ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE COURSE(
ID int(11) NOT NULL auto_increment,
NAME varchar(20) NOT NULL,
TEACHER_ID int(11) NOT NULL ,
HOUR int(4) default NULL,
CREDIT float(2,1) NOT NULL ,
YEAR year(4) default NULL,
TERM varchar(1) default NULL,
EXAM_MODE varchar(2) default NULL,
EXAM_TYPE varchar(2) default NULL,
TYPE varchar(2) default NULL,
PRIMARY KEY (ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE SCORE(
COURSE_ID int(11) NOT NULL ,
STUDENT_ID int(11) NOT NULL ,
VALUE int(4) default NULL ,
DATE date NOT NULL ,
PRIMARY KEY (STUDENT_ID,COURSE_ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE ROOT(
ID int(11) NOT NULL auto_increment,
USERNAME char(15) NOT NULL UNIQUE ,
PASSWORD char(15) NOT NULL ,
PRIMARY KEY (ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE CLASS_COURSE(
CLASS_ID int(11) NOT NULL ,
COURSE_ID int(11) NOT NULL ,
PRIMARY KEY (CLASS_ID,COURSE_ID))ENGINE=InnoDB DEFAULT CHARSET=utf8;

alter table STUDENT add constraint FK_STUDENT_CLASS
foreign key(CLASS_ID) references CLASS(ID) on delete cascade;

alter table SPECIAL add constraint FK_SPECIAL_DEPARTMENT
foreign key(DEPARTMENT_ID) references DEPARTMENT(ID) on delete cascade;

alter table CLASS add constraint FK_CLASS_TEACHER
foreign key(TEACHER_ID) references TEACHER(ID) on delete cascade;

alter table CLASS add constraint FK_CLASS_SPECIAL
foreign key(SPECIAL_ID) references SPECIAL(ID) on delete cascade;

alter table SCORE add constraint FK_SCORE_COURSE
foreign key(COURSE_ID) references COURSE(ID) on delete cascade;

alter table SCORE add constraint FK_SCORE_SUTDENT
foreign key(STUDENT_ID) references STUDENT(ID) on delete cascade;

alter table CLASS_COURSE add constraint FK_CC_CLASS
foreign key(CLASS_ID) references CLASS(ID) on delete cascade;

alter table CLASS_COURSE add constraint FK_CC_COURSE
foreign key(COURSE_ID) references COURSE(ID) on delete cascade;

alter table COURSE add constraint FK_COURSE_TEACHER
foreign key(TEACHER_ID) references TEACHER(ID) on delete cascade;

insert into ROOT(USERNAME,PASSWORD) values('vlinux','lovefs');

create trigger CLASS_COURSE_DELETE BEFORE DELETE ON CLASS_COURSE
FOR EACH ROW DELETE FROM SCORE WHERE COURSE_ID=old.COURSE_ID
and STUDENT_ID in (SELECT ID FROM STUDENT WHERE CLASS_ID=old.CLASS_ID);

grant all on ENOVA.* to enova@localhost identified by "enova" with grant option;

数据结构文件可以从/enova/src/enova/ENOVA_DB.SQL中找到

管理员初始帐号/密码为:vlinux/lovefs

PS:管理员的学生成绩管理模块还没时间做,如果那个人有能力的就帮忙做了吧,不过估计在这个注释缺乏的程序中想快速理解好像有点难度。考试完我会适当加上注释的。毕竟我目前的目标就是为BCCN写一个自己的论坛。
大家可以把这个程序当成一本书,有什么对Struts、Hibernate不理解的地方可以参考一下。呵呵,一起努力吧。
39 回复
#2
神vLinux飘飘2006-06-21 22:00

[IMG]http://linux-fans.com/wp-content/blogs//242/uploads//Screenshot1.thumbnail.png[/IMG]

对了,忘记说,大家的netbeans中一定要有hibernate和mysql这两个库才行

hibernate库中放有hibernate运行所必须的所有包,如果不知道应该都有什么包,那就把hibernate以及支持hibernate所有的第三方包全部都弄进来好了

mysql库中放有mysql的jdbc连接器(connector),这样就OK了
#3
神vLinux飘飘2006-06-21 22:01
这两个库都是自己建立的....所以要自己下载hibernate和mysql的JDBC_connector

可以到www.hibernate.org和www.mysql.com中找到所需要的东东
#4
千里冰封2006-06-22 10:32
下载了,支持
#5
神vLinux飘飘2006-06-22 18:58
别光说支持,能用不你
#6
飘飘叶子2006-06-22 19:27
写得很好啊~
我可懒得去运行,看下代码就可以了~
#7
神vLinux飘飘2006-06-22 19:41
呵呵,原来还指望有人能帮完善的呢  -oo-
#8
千里冰封2006-06-22 19:42
我也是看看代码的
#9
蝶躌微香2006-10-22 18:27

下载了,但是还没运行,谢谢

#10
asdex19992006-10-22 21:41
#11
禹_二2006-10-23 11:08

我对Struts和 Hibernate知之甚少,还是先学习一下再说.

#12
想你的天空2006-10-24 16:28

神老大的代码我从来不看, 只是留下时间来提问, 哈哈

#13
dreame2006-10-26 15:27

不愧是神老大 ,我还在学习中

#14
martin_ma2006-11-15 17:18

下载下来看了几分钟,数据层DAO模式用的不错,Service层和Web层联系太紧,应该在参数传递上进行分装,用Map隔离更好一些。
建议有BaseAction和BaseService类,更加易于扩展,并且可以把通用的代码、权限验证等放到Base类中处理
XXXDAOImpl中每个方法都处理HibernateException,这个应该统一解决,不应分散在各个独立的方法中。
Jsp也存在同样问题,缺少统一的include.jsp, header.jsp, footer.jsp等等,设计时多考虑重用性和扩展性会更有利于提高,再接再厉!

#15
ming2062006-11-15 20:42
很不错了拉。强烈支持~~~~~!
#16
禹_二2006-11-15 21:57
还是菜鸟,对Struts1.2.8 + Hibernate3.1 都不是很了解,所以支持一下先.
#17
hsjljh2006-11-15 22:30
好东西啊
#18
jiangdandan2006-11-18 15:37

写得不错,我很支持啦
只是有些地方我不是很清楚

#19
spacesky2006-12-26 13:46

我怎么看不到啊

#20
禹_二2006-12-26 16:17

神老大已经好久不见了!!

#21
smoon2006-12-26 19:37

编程论坛-『 J2EE论坛 』-查看文件错误信息
您在"查看文件"的时候发生错误,共有1项,下面是错误的详细信息
您查找的数据暂不存在!

请仔细阅读论坛帮助文件,确保您有相应的操作权限。

<< 返回上一页
#22
hsx56562007-01-01 01:42

我在eclipse或jbuilder里运行,不会有问题吧!(初学者)

#23
白展堂2007-01-02 09:44
现在不能下了吗????
#24
阴阳妖瞳2007-01-02 22:28
他死了好久了
#25
白展堂2007-01-02 22:30


晕!~~~~~~!

那就是下不下来了呗
#26
hzjwcx2007-01-04 11:19
现在不能下了吗???????????????????????????
#27
荒野的雄狮2008-10-25 13:02
顶一个先
#28
dandanmei2008-10-26 10:02
看不懂
#29
wbajieng2010-03-28 22:19
看不懂啊
#30
关关雎鸠2010-06-30 15:43
我下载了,学习学习
#31
枝繁叶茂2011-03-29 23:39
看不懂
#32
leo762011-03-30 16:46
我想要源码,之前的链接不行了哦!!!
#33
飛龍在天2011-04-28 22:58
给力啊
#34
jiava2011-05-26 21:19
java皇冠高级群:7156436
java皇冠高级群:93787804
(注:群名原创,有特定群标,其他有同名或类似名称如java静区,或相同群标的群一律为"盗版"群)
群简介:快乐学习,真诚交友!以JAVA为主,面向C/C++,C#,Android,iphone,jsp,Sql,Oracle,php,web,.net..
欢迎工作者,爱好者加入。
#35
网络小高2012-02-12 05:07
谁能做我的老师我很想学编程现在 我是什么基础都还没有家里还不怎么支持只求师傅我想自力QQ465482659求师傅多说别的没用能教我 的联系我
#36
ywyczg2013-06-21 22:20
怎么用呢,用不上。
#37
heawse2013-12-19 17:00
怎么下载啊
#38
loyd12342014-06-20 13:02
为什么没有下载的?
#39
小韦德的唯2014-09-03 19:15
回复 楼主 神 vLinux 飘飘
#40
zyc1511742572015-05-21 14:06
[IMG]http://[/IMG]

对了,忘记说,大家的netbeans中一定要有hibernate和mysql这两个库才行

hibernate库中放有hibernate运行所必须的所有包,如果不知道应该都有什么包,那就把hibernate以及支持hibernate所有的第三方包全部都弄进来好了

mysql库中放有mysql的jdbc连接器(connector),这样就OK了!的确需要这样。辛苦了!
1