需求描述
设计一个简单的通讯录,实现管理员对通讯录的管理,包括添加一条通讯记录,根据id修改对应的记录信息,根据id删除一条记录,根据id显示一条记录的详细信息。每个页面都要有命令提示信息。
具体要求
1. 系统启动的时候从数据库读取是否已经存在管理员,如果没有注册管理员则先要求注册一个新的管理员账户。如果管理员已经存在,则要求管理员输入账号和密码登录,登录成功后直接显示所有的通讯记录。
2. 注册管理员的时候以命令行的形式提示输入一个管理员账号和密码(管理员账号长度大于等于6,小于等于16,密码也在这个范围内,并且要求密码必须包含数字和字母,区分大小写),并输入一个确认密码,如果两次输入的密码不一致则将之前输入的秘密跟确认密码置空并提示重新输入。
3. 管理员注册成功后,直接显示通讯录所有记录。
4. 在通讯录显示的最下边显示提示信息:输入 del 表示删除一条记录,并根据输入的id删除相对应的记录。输入 add 表示增加一条通讯记录;输入 update 表示修改某条记录,并根据输入的名字修改对应的数据库记录。
5. 如果用户输入 del 并输入名字回车后,出现一条确认信息“你确认要删除**人的信息?(y或Y代表是,n或N代表不是)”,如果用户输入的是y或Y的话,则执行删除操作,如果是n或N的话,则返回显示所有通讯记录的状态,所有记录的最后一行显示操作提示列表
6. 修改的时候步骤同5
7. 添加一条通讯记录的时候,要求添加用户的所有信息。添加完之后提示用户是否保存(也就是当用户输入完成某个字段的信息后提示一条操作语句)或是否保存?(y或Y代表是,n或N代表不是)
8. 要求显示通讯所有通讯记录的时候,只显示记录的id、名字、电话、QQ,当管理员输入query 命令的时候,提示管理员输入对应的记录的id,提交后显示相对应的记录详细信息
9. 在8步骤里显示相信信息后,提示管理员可以输入back命令,回退到显示所有记录的界面,并能执行相应的操作。
10. 数据字典:
11. 要求设计管理员和联系人这两个类,而这两个类要有一个共同的基类Person。凡是涉及到的跟管理员信息或通讯记录信息相关的操作都要通过这两个类的对象对外提供的方法来使用,new一个管理员或联系人的时候,用父类引用指向子类对象的形式(多态),要求Person类里有一个带参数的构造函数。
12. 数据库可以用Oracle,也可以用Mysql
环境
Oracle11g R2 + MyEclipse 6.5 + JDK 1.6.24 +SQL*Plus
使用技术
JDBC、Java基础知识、SQL。
相关源码
1.使用到的SQL:
--建表SQL
create table contactor
(
id number(11) primary key,
name varchar2(20) not null,
admin_id number(4),
phone varchar2(11) default(null),
qq varchar2(10) default(null),
sex char(1) check(sex in('1', '0')),
created_datetime date,
updated_datetime date,
constraint wgb_contactor_adminId_FK foreign key(admin_id) references admin(id)
);
create table admin
(
id number(4) primary key,
name varchar2(20) not null,
password varchar2(20) not null,
created_datetime date not null
);
--自增序列
create sequence seq_wgb_contactor
increment by 1
start with 1
maxvalue 1.0e28
minvalue 1
nocycle
nocache
order;
create sequence seq_wgb_admin
increment by 1
start with 1
maxvalue 1.0e28
minvalue 1
nocycle
nocache
order;
--测试数据
insert into contactor values(seq_wgb_contactor.nextval, '温国兵', 8, '13000000000', '321236545', '1', sysdate, sysdate);
insert into contactor values(seq_wgb_contactor.nextval, '姜国彦', 8, '13999999999', '456781234', '1', sysdate, sysdate);
insert into contactor values(seq_wgb_contactor.nextval, '小霞', 8, '13078906567', '2222222212', '0', sysdate, sysdate);
insert into contactor values(seq_wgb_contactor.nextval, 'test', 8, '13089886745', '1232323232', '1', sysdate, sysdate);
insert into admin values(seq_wgb_admin.nextval, '温国兵', 'wgb', sysdate);
insert into admin values(seq_wgb_admin.nextval, 'Wentasy', 'wgb', sysdate);
--插入数据时自增字段触发器
create or replace trigger trigger_contactor_id_automatic
before insert on contactor
for each row
declare
begin
select seq_wgb_contactor.nextval into:new.id from dual;
end trigger_contactor_id_automatic;
create or replace trigger trigger_admin_id_automatic
before insert on admin
for each row
declare
begin
select seq_wgb_admin.nextval into:new.id from dual;
end trigger_admin_id_automatic;
运行效果截图
项目小结
1.没报错,又无结果,考虑数据库里是否有数据。
2.Oracle中对数据库的更新操作(增、删、改)需要commit才能生效。
3.写程序严格要求自己,比如这次我让我这个小项目零错误、零警告,还有一些异常情况必须考虑,不要出现异常程序就Down了。
4.通过这个程序对JDBC有了更深的理解和掌握。
5.写程序要注意一些小技巧,多积累。
6.要学会调试,比如经常遇到的空指针异常,通过调试就可以得到很好的解决。
7.对正则表达式有了更好的理解。
8. 对SQL语句有了更好的掌握,对触发器、Oracle自增序列有了很好的了解。
9.这种类型的小项目很适合练手,虽然简单,但还是很有必要做。只有真正去做才能发现问题,做的时候就不那么简单了。纸上得来终觉浅,绝知此事要躬行。
源码下载
无偿分享,猛击此处!
分享到:
相关推荐
飞聊通讯录V1.0,使用JDBC实现的纯控制台小工具。无偿分享,欢迎下载。 可参考博文《个人小项目——飞聊通讯录V1.0小结 》 地址:http://blog.csdn.net/wentasy/article/details/8037764
C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言项目——通讯录管理系统.zip C语言...
野老鼠通讯录 v1.0清新版
安卓Android源码——完整的通讯录项目源码.zip
Android源码——完整的通讯录项目源码.zip
1.0更新说明
实训课的作业,基于vs2008与sql2005,需要的就下载吧,无BUG
为网友开发的通讯录,是网上记载、查询同学、朋友、网友联系方法的WEB软件!方便,简单,漂亮!可添加照片!
软件介绍 倾蝶通讯录 :多用户操作,超强密码保护,...可以导入QQ通讯录文件,图片、详细备注、头像储存、软件支持新版本自动提示更新。密码管理功能实用且安全强大,全文搜索匹配。日记文章管理,按时间或文件名排序。
本通讯录使用c#语言开发,使用access数据库,能够自定义成员分组、联系方式分类、添加(修改、删除、查询)成员,可按照具体情况进行定义。经测试,所有功能均可用,如果无法运行,请安装.net framework 3.5运行时。
参考资料-项目管理系统_项目组通讯录_v1.0_20180710.zip
班级通讯录界面简洁清晰,功能简单实用的班级通讯录。 压缩包内是网站的全部文件,是大家学习ASP的不错的材料。 后台登陆方法: admin/ 用户名:admin 密码:admin
班级通讯录界面简洁清晰,功能简单实用的班级通讯录。 压缩包内是网站的全部文件,是大家学习ASP的不错的材料。 后台登陆方法: admin/ 用户名:admin 密码:admin
项目管理系统_项目组通讯录_v1.0_20180710.xls
Android源码——完整的通讯录项目源码.7z
FaLiang三层通讯录简介 本Demo是一个三层通讯录源码,,有需要的朋友不要错过! FaLiang三层通讯录功能 1、查找 2、添加通讯录 3、修改 4、删除 注意事项 1、开发环境为Visual Studio 2013,数据库为SQL ...
功能:查找显示联系人信息,删除,添加联系人,修改联系人信息; 联系有信息有:电话号码,姓名,Email,地址;
android手机通讯录代码,可以更快的了解到android用法,实现了对用户的分类,对用户跟分类的增删改查
安卓Android源码——我的通讯录.zip