java课程设计报告图书借阅系统Word格式.docx
《java课程设计报告图书借阅系统Word格式.docx》由会员分享,可在线阅读,更多相关《java课程设计报告图书借阅系统Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
图书基本信息的模糊查询。
3)为借书人办理注册。
4)办理借书手续
5)借书信息的浏览、查询、统计,统计可按班、书、类别、日期。
可结合图表
任务要求
1.掌握程序与数据库之间的连接,以对图书信息进行编辑并且添加、修改、删除等操作;
2.掌握图书信息模糊查询。
3.掌握掌握数据库的添加。
4.掌握数据库信息的浏览、查询、统计。
参考文献
[1](美)CayS.Horstmann、GaryCornell.Java核心技术卷I:
基础知识(第8版)(英文影印版).人民邮电出版社,2008.11
[2]耿祥义、张跃平.JAVA2实用教程(修订).清华大学出版社,2001.10
审查意见
指导教师签字:
教研室主任签字:
史卫亚
2012年6月20日
一、需求分析
图书借阅系统需求可分为三个方面:
一方面是图书管理人员对需要进行图书借阅的同学进行信息注册,获得借书证;
二方面是学生通过计算机进行图书浏览;
三方面是学生通过计算机进行图书借阅。
由于本系统管理的对象单一,都是校图书馆里的书,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。
因此,比较适合于采用数据库管理。
首先是输入判断,相当于在登陆模块,要求用户输入用户名和密码;
然后判断,如果判断失败退出系统,否则进入图书管理系统的主界面。
进入主界面后,用户要选择所需执行的功能,来完成所需操作。
二、概要设计
三、运行环境、开发语言
Windows98或以上操作环境系统采用JDK1.6或以上版本,后台数据库为SQLserver2000
四、详细设计
1程序清单
表1
函数名
功能
文件名
CreateBook
创建book数据库
CreateRecord
创建借阅表数据库
AddBook
添加图书
BorrowBook
借阅图书
dispBook
浏览在库图书
BackBook
归还图书
CreatePeople
创建people数据库
dispBorrow
浏览被借阅的书
AddPeople
会员注册
Enter
登录
dispPeople
浏览会员信息
recordbook
是否借阅七本
Delete
注销会员
ISBNSelect
检查是否已借阅
SetBook
修改图书已借数
SetPeople
修改会员已借数
Check
检查是否借阅
Count1
统计借阅数量
按ISBN、学号、借书日期统计
2数据库设计
表2:
Book(图书信息)
列名
型(包括长度)
描述
name
varchar
图书名称
ISBN
bigint
国际标准书号
classify
图书分类
writer
varchar,
作者
kucun
库存
n
借出量
表3:
People(会员信息)
sex
性别
id
class
班级
借阅图书量
password
密码
表4:
Record(借阅图书)
peopleid
借阅人学号
bookISBN
图书国际标准书号
borrowdate
借书时间
backdate
还书时间
3主要代码
//注册会员(图书添加类似)
publicvoidAddPeople()throwsException{
longpassword1,password2;
System.out.println("
请输入注册人的的信息:
"
);
System.out.printf("
姓名:
String_name=sc.next();
性别:
String_sex=sc.next();
学号:
long_id=sc.nextLong();
班级:
long_class=sc.nextLong();
do{
System.out.printf("
请输入密码:
password1=sc.nextLong();
请再输入密码:
password2=sc.nextLong();
}while(password1!
=password2);
Class.forName(driver);
con=DriverManager.getConnection(url,user,pass);
Stringsql="
insertintopeople(name,sex,id,class,n,password)values(?
?
)"
;
PreparedStatementprep=con.prepareStatement(sql);
prep.setString(1,_name);
prep.setString(2,_sex);
prep.setLong(3,_id);
prep.setLong(4,_class);
prep.setLong(5,0);
prep.setLong(6,password1);
prep.execute();
prep.close();
con.close();
}
//浏览在库图书
publicvoiddispBook()throwsException{
select*frombook"
ResultSetre=prep.executeQuery();
intcount=0;
while(re.next()){
count++;
System.out.println(re.getString("
name"
)+"
"
+re.getLong("
ISBN"
+re.getString("
classify"
writer"
kucun"
n"
));
}
if(count==0){
System.out.println("
没有图书。
re.close();
prep.close();
}
//所借图书是否借完
publiclongISBNSelect(long_ISBN)throwsException{
longm;
Class.forName(driver);
con=DriverManager.getConnection(url,user,pass);
Stringsql="
select*frombookwhereISBN=?
PreparedStatementprep=con.prepareStatement(sql);
prep.setLong(1,_ISBN);
ResultSetre=prep.executeQuery();
while(re.next()){
if(re.getLong("
)<
=re.getLong("
)){
re.close();
return-1;
}
else{
m=re.getLong("
re.close();
returnm;
re.close();
return-2;
//登录会员检查是否能借图书
publiclongEnter(longid,longpassword)throwsException{
select*frompeoplewhereid=?
prep.setLong(1,id);
if(re.getLong("
password"
)==password){
if(m>
=7){
re.close();
return-1;
}
else{
returnm;
}
//检查是否借阅该图书
publiclongrecordbook(long_id,long_ISBN)throwsException{
select*fromrecordwherebookISBN=?
prep.execute();
peopleid"
)==_id){
return1;
return0;
//借书
publicvoidBorrowBook(long_ISBN,long_id)throwsException{
System.out.printf("
借阅时间:
long_borrowdate=sc.nextLong();
long_backdate=_borrowdate+100;
insertintorecord(peopleid,bookISBN,borrowdate,backdate)values(?
prep.setLong(2,_ISBN);
prep.setLong(1,_id);
prep.setLong(3,_borrowdate);
prep.setLong(4,_backdate);
prep.execute();
prep.close();
//修改在库图书
voidSetBook(long_ISBN,longm)throwsException{
updatebooksetn=?
whereISBN=?
prep.setLong(1,m);
//修改people已借图书数目
voidSetPeople(long_id,longm)throwsException{
updatepeoplesetn=?
whereid=?
prep.setLong(2,_id);
//还书
publicvoidBackBook(long_ISBN,long_id)throwsException{
deletefromrecordwherebookISBN=?
andpeopleid=?
prep.setLong(1,_ISBN);
//检查是否借阅该书
publiclongCheck(Stringsql,longISBN,longid)throwsException{
intcount=0;
prep.setLong(2,ISBN);
count++;
returncount;
判断能否借书语句
System.out.printf("
请输入会员id:
id=sc.nextLong();
请输入会员密码:
password=sc.nextLong();
m=book.Enter(id,password);
if(m>
=0){
请输入借阅图书的ISBN:
ISBN=sc.nextLong();
j=book.recordbook(id,ISBN);
if(j==0){
n=book.ISBNSelect(ISBN);
if(n==-2){
没有您借阅的图书。
elseif(n==-1){
您借阅的图书已借完。
else{
book.BorrowBook(ISBN,id);
book.SetBook(ISBN,n+1);
book.SetPeople(id,m+1);
else{
您已借阅该书,请借阅其他的书。
}
elseif(m==-1){
您已借阅七本书。
else{
没有该会员。
五、调试与分析
在调试中,每个人可以无限借书,图书借阅量不能修改,在会员注册的数据库中添加了,借阅图书量,每次借阅前判断是否已经借阅七本书,并且判断图书是否借出去完,本人是否借阅过该图书。
并且在创建会员是添加了密码,只有在登录密码才能借阅图书。
还书时不能修改图书的已借量,添加了一个程序修改借阅量和本人借阅书个数。
如果借两本一样的书时还书出现问题,添加程序强制只能借同一种书一本。
六、功能测试
图1:
图2:
图3:
图4:
图5:
登录借阅图书
图6:
浏览被借图书
图7:
图8:
图9:
还书、浏览在库图书
七、结论与心得
Java是一门高科技语言,学习上要做到严谨细心,平时要多加练习。
实际操作,通过本次图书借阅系统课程设计,通过数据库来实现,实现了图书的添加及其管理。
会员注册、注销会员、图书借阅、还书的实现用的是数据库的插入与删除,然后进行更改借阅量、已借图书量,统计查找则是通过数据库的浏览实现。
能比较迅速地找到图书,以实现借阅、还书、统计,以实现创建借阅和还书的需要。
在于数据库应用方面,加深了对数据库的理解和运用,深刻理解了java的内涵和意义。
懂得了一种语言的价值。
八、参考资料
(要列出在完成设计中查看过并有所利用的所有参考资料,包括各类技术书籍、期刊论文和相关网页的网址)
[1]CayS.Horstmann,GaryCornell.CoreJavaVolumeI:
Fundamentals.8thEdition.PrenticeHall,2008.
[2]CayS.Horstmann,GaryCornell.CoreJavaVolumeII:
AdvancedFeatures.8thEdition.PrenticeHall,2008.
[3]MaydeneFisher,JonEllis,JonathanBruce.JDBCAPITutorialandReference.3rdEdition.AddisonWesley,2003.