您的位置:首页 > 数据库 > Oracle

【Java_项目篇<2>】--JAVA-Oracle课程设计总结

2017-01-04 15:07 786 查看

2016.12.20-2016.12.28

九天时间,每天沉迷于学习不能自拔,大部分时间在机房和图书馆,最后那几天感觉自己的老腰都已经不堪重负,如果课设再继续下去,身体就要扛不住了,庆幸,提前两天完成课设,第二个答辩。

最开始的三天(星期二、三、四),摸不着头脑,根本不知道怎么做,处于晕头转向的时期,不知道怎样把数据库、Java连接起来,不会的只能百度,老师只是给了代码让你看。自己去研究真的很费时间。星期二的时候想把Oracle课本上的一个案例连接到数据库,发现自己并不知道怎么把数据库与Java连接,星期三的早上问了下老师,终于解决了这个问题,连接上了Oracle并且打开了软件。



星期三的时候打算读懂这个人事管理系统的代码,然后修改一下参数和界面,这样偷个懒就可以把课程设计做出来了,后来在图书馆看了一下午,发现代码用到了很多知识点自己根本不会,相当于有很多的坑,每一个坑都需要自己研究后再去操作,两个星期完全不够用,而且代码用到了Hibernate.xml文件,更加无法利用这个现成的软件偷懒。这个时候,周舟开始做E-R图,并且在晚上的时候已经把E-R图做好了。

星期四开始写利用SQL-Developer 建表,迅速学会使用SQL-Developer的各种技巧 方法 了解主键、外键、唯一性约束。晚上的时候,救星来了,张桂宾的课设做完了,看了一下他们的代码,秒懂连接数据库,到此,最大的问题解决了,知道怎么将数据库与Java互联,在课设的过程中提供了巨大的帮助。



星期五、双休日 继续研究,数据库的部分关系基本上已经结束,但是触发器部分仍然有不懂的地方,打算星期一的时候问老师。(总觉得计划一天能完成的事情,每次都要花掉好多天才能完成)

星期一 问了老师,终于可以把数据库完成了。

星期二 完善了数据库部分细节,使数据库中的表连接到JTable中,下午开始撸Java界面,发现了windowBuilder这个好插件,实现可视化编程。研究了一个下午,终于知道如何使用,但是用起来开多了的话会卡! 晚上正式开始撸,撸到了凌晨两点多,终于把功能都实现了,只剩下UI界面和美化了。

星期三 因为明天就要答辩了,所以今天一定要完成,把粗鲁的已经实现的功能给老师看了一下,老师让我完善一个历史顾客记录表。OK ,Just do it!于是晚上学了下PS,优化一下界面,顺便做了一个Oracle知识点的提示界面,方便组员通过答辩。



附上三个触发器两个过程Oracle代码

1、订房存储过程
create or replace procedure order_customer(
SNUM in A_01CUSTOMER.SNUM%type,
SNAME in A_01CUSTOMER.SNAME%type,
SPHONE in A_01CUSTOMER.SPHONE%type,
NROOMNUM in A_06ORDERROOM.ROOMNUM%type,
ROOMTYPE in A_06ORDERROOM.ROOMTYPE%type,
ordertime in A_06orderroom.ordertime%type
) is
begin
insert into a_10orderrecord
values(snum,sname,nroomnum, ordertime,'未退房');
insert into A_01CUSTOMER
values(SNUM,SNAME,SPHONE);
insert into A_06ORDERROOM
values(SNUM,SNAME,SPHONE,NROOMNUM,ROOMTYPE, ordertime);
update a_04roominfo set roomsit='满' where roomnum=NROOMNUM;
commit;
end order_customer;
2、退房存储过程
create or replace procedure delete_record(
v_snum in A_01CUSTOMER.SNUM%type,
v_quittime in a_10orderrecord.quittime%type
)is
begin
delete from a_01customer where snum=v_snum;
update a_10orderrecord set quittime=v_quittime where snum=v_snum;
commit;
end delete_record;
2、换房触发器
create or replace trigger tri_changeroomsit
after delete
on a_06orderroom
for each row
declare
v_roomnum a_06orderroom.roomnum%type;
begin
select :old.roomnum into v_roomnum  from dual;
update a_04roominfo set roomsit='空' where roomnum=v_roomnum;
end;
4、换房触发器
create or replace trigger tri_changeroomsit_man
after insert
on a_06orderroom
for each row
declare
v_roomnum a_06orderroom.roomnum%type;
begin
select :new.roomnum into v_roomnum  from dual;
update a_04roominfo set roomsit='满' where roomnum=v_roomnum;
end;
5、换房触发器
create or replace trigger tri_changeend
after insert
on a_07changeroom
for each row
declare
v_newroomnum a_07changeroom.newroomnum%type;
v_oldroomnum a_07changeroom.roomnum%type;
v_snum a_07changeroom.snum%type;
v_roomtype varchar2(30);
begin
select :new.newroomnum into v_newroomnum from dual;
select :new.roomnum    into v_oldroomnum from dual;
select :new.snum into v_snum from dual;
select (select roomtype from a_04roominfo where roomnum=:new.newroomnum) into v_roomtype from dual;
update a_04roominfo set roomsit='空' where roomnum=v_oldroomnum;
update a_04roominfo set roomsit='满' where roomnum=v_newroomnum;
update a_06orderroom set roomnum=v_newroomnum where snum=v_snum;
update a_06orderroom set roomtype=v_roomtype where snum=v_snum;
update a_10orderrecord set roomnum=v_newroomnum where snum=v_snum;
end;


附上Java 源文件下载地址

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: