课程设计图书信息管理系统1Word文件下载.docx
《课程设计图书信息管理系统1Word文件下载.docx》由会员分享,可在线阅读,更多相关《课程设计图书信息管理系统1Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
然后,我通过查阅书籍,上网查询,添加了函数JOptionPane.showInputDialog("
…………"
),实现了简单的图像界面,但因为时间跟水平有限,所以图行界面效果尚未没达到预期的目标。
最后,我将数据存储在数据库(OracleDatabase10g)中,通过本地协议纯Java驱动程序,连接了数据库,使其数据库当中的数据随着界面的操作而随时更新。
用java.sql.PreparedStatement这个java.sql.Statement接口的一个变种,可以使用参数化SQL语句,用java.sql.ResultSet这个接口抽象了运行SQLselect语句的结果,提供了访问结果的方法,这个接口可以用来来访问各记录中不同的字段。
目录
自我评分...........................................................I
第1章摘要.........................................................1
第2章系统功能介绍..................................................1
2.1系统思路设计简介...........................................1
2.2系统流程...................................................2
第3章数据库设计....................................................2
3.1数据库需求分析.............................................2
3.2数据库概念结构设计.........................................2
第4章系统功能实现..................................................3
4.1连接数据库模块设计........................................3
4.2主界面功能实现.............................................4
4.3图书添加功能的实现.........................................6
4.4图书浏览功能实现...........................................8
4.5图书删除功能实现...........................................9
4.6图书修改功能实现..........................................10
4.7图书信息查询功能实现......................................11
第5章总结........................................................14第6章参考文献....................................................14
第1章摘要
在当今这个知识经济时代,知识的大爆炸带来了图书业的大发展,图书数量急剧增加,时间的增长,再查询时就需要在众多的资料中查找,费时费力,手工操作使得图书的信息管理工作混乱而复杂。
基于这个问题,开发一个智能的、操作简单的、使用方便的图书信息管理系统是非常有必要的,而本系统需要实现也正是图书信息管理系统的基本功能。
图书信息管理系统主要具备书籍管理的基本功能——将图书信息存储于系统的数据库当中,管理员可以添加新图书、修改错误的图书和删除不存在的图书,并可以查阅图书信息的情况。
图书信息管理系统是一个典型的数据库应用系统,主要涉及数据的读写和数据的传递,利用数据库OracleDatabase10g软件和Eclipse3.62工具,采用java语言进行开发不存在技术方面的问题。
所以,本次课程设计的题目是:
图书信息管理系统。
首先构思,针对图书信息管理系统进行需求分析和功能分析,然后进入数据库的设计阶段,对其概念设计、逻辑设计、物理设计进行分析。
最后实现了其功能模块的详细设计,以上是我的任务安排。
下面就是我的具体实践过程安排:
一:
查阅相关资料,针对系统的需求分析、功能分析
二:
数据库设计-------概念设计(E-R图的设计等)、逻辑设计(表及视图的设计)
三:
数据库设计-------功能模块详细设计
关键词Javaoracle面向对象图书信息管理系统
第2章系统功能设计思路
2.1系统思路设计简介
本人设计的图书信息管理系统是图形信息输入和在Java控制台中输入并存。
本系统主要用于对图书馆日常工作的管理,主要任务是用计算机图书各种信息进行日常的管理,如增加、修改、删除、查询图书的管理等。
本系统实现了图书馆的信息自动化管理,完成了图书管理系统的基本功能,该系统主要是在Java界面的控制台显示其内容,其数据是存储在数据库当中,数据库当中的数据随着界面的操作而随时更新。
主要功能是用于书籍信息的管理,新书的入库、图书查询、删除图书、图书修改。
2.2系统流程
系统图书信息管理流程如下图1所示
系统模块功能结构分析图如图2所示
图2
注:
可以选择所需要的功能模块来实现所要的执行功能如下说明
A)添加图书功能:
图书信息存储到数据库当中(主要包括图书的编号、书名、作者、出版社、出版日期、图书简介、图书类别等);
B)修改图书功能:
把数据库当中存在的图书查找出来,再对其进行修改和存储;
C)删除图书功能:
对数据库中没有此书和不想存储的图书信息进行删除操作;
D)查询图书功能:
查询工作人员对图书信息的了解,主要按照图书的编号查询图书信息;
第3章数据库设计
3.1数据库需求分析
数据库结构要能充分满足各种信息的输入和输出,收集基本数据,数据结构处理的流程,组成一份详尽的数据字典,为具体设计做准备。
针对一般图书管理系统的需求,通过对数据管理工作过程的内容和数据流程的分析,得到其系统的逻辑模型,设计如下数据项和数据结构:
●图书(图书编号,图书名称,作者,出版社,出版日期,图书简介,图书类型)
●用户(用户名,密码)
3.2数据库概念结构设计
本系统用到的数据库表的E—R图如图3
图书表information用来保存图书信息,结构如表1
表1图书表information
第4章系统功能实现
4.1连接数据库模块设计
系统对图书所需要的信息都存储于数据库当中,要对这些数据信息进行操作,就必须连接数据库,为了省去每次操作都要编写连接数据库程序的步骤,我们把连接数据库操作封装到一个类DBhelp.java中,在不同的模块中调用这个类就可以对数据库进行连接,执行相应的数据库操作,这样就使得连接数据库安全高效,程序代码简洁清晰,也符合java面向对象的思想。
连接数据库类DBhelp.java的代码如下:
packagemypackage;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclassDBHelp{
//这部分是数据库连接
staticfinalStringdriver="
oracle.jdbc.driver.OracleDriver"
;
staticfinalStringuser="
system"
staticfinalStringpass="
123"
staticfinalStringurl="
jdbc:
oracle:
thin:
@0.0.0.0:
1521:
xe"
//获得connection连接方法
publicstaticConnectiongetConn(){
Connectionconn=null;
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,pass);
}catch(ClassNotFoundExceptione){
System.out.println("
出现异常!
!
+e.getMessage());
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(SQLExceptione){
}
System.out.println("
数据库连接成功!
);
returnconn;
}
//关闭数据库连接方法
publicstaticvoidgetClose(Connectionconn,PreparedStatementstmt,
ResultSetrs){
if(rs!
=null){
rs.close();
}elseif(stmt!
stmt.close();
}elseif(conn!
conn.close();
}
}
4.2主界面功能实现
在系统的主界面中,包括六个功能(主功能4个):
添加图书功能,查询图书功能,删除和修改图书功能。
运行界面如图4。
图4
其技术实现代码具体如下:
Scannerbuf=newScanner(System.in);
voidmenu()throwsException{
intchoice;
do{
☆★☆★☆★☆数学与计算科学系0801班★周小玲★设计★☆★☆★☆\n\n"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"
System.out
.println("
┃★★★图书管理系统主菜单界面★★★┃"
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫"
┃★★★★ ①.输入图书信息★★★★┃"
┃★★★②.预览图书信息★★★┃"
┃★★★③.查找图书信息★★★┃"
┃★★★④.删除图书信息★★★┃"
┃★★★ ⑤.修改图书信息★★★┃"
┃★★★★⑥.安全退出★★★★┃"
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"
System.out.print("
请输入您的选择(1--6):
choice=Integer.parseInt(buf.next());
switch(choice){
case1:
add();
break;
case2:
browse();
case3:
search();
case4:
delete();
case5:
update();
case6:
End();
}while(true);
4.3图书添加功能的实现
图书入库是图书管理系统中不可缺少的部分,用于图书入库,通过界面中文本框接受书籍信息,然后将此信息写入到oracle数据库中。
运行界面如图5所示,运行成功提示如图6。
图5
图6
其技术实现的代码如下:
//实现增加(建立)图书信息
voidadd()throwsIOException,SQLException{
Connectionconn=DBHelp.getConn();
//连接数据库
PreparedStatementstmt=null;
ResultSetrs=null;
System.out.print("
\n请输入图书信息(以书名为0结束)\n"
//用数组information[i]来暂存图书的序号,并用compareTo方法确定判定是否应该写入新信息
Stringname=JOptionPane.showInputDialog("
请输入图书名称:
while(pareTo("
0"
)!
=0){
Stringid=JOptionPane.showInputDialog("
请输入图书编号:
Stringauthor=JOptionPane.showInputDialog("
请输入图书作者:
Stringpublish=JOptionPane.showInputDialog("
请输入图书出版社:
Stringdate=JOptionPane.showInputDialog("
请输入出版日期:
Stringinformation=JOptionPane.showInputDialog("
请输入图书简介:
Stringkind=JOptionPane.showInputDialog("
请输入图书类别:
Stringsql="
insertintoINFORMATION(id,name,author,publish,outdate,information,kind)values("
+"
'
+id+"
"
+"
+name+"
+author+"
+publish+
"
+date+"
+information+"
+"
+kind+"
)"
stmt=conn.prepareStatement(sql);
if(stmt.execute())
System.out.println("
添加失败"
else
添加成功"
name=JOptionPane.showInputDialog("
请输入下一个图书名称:
DBHelp.getClose(conn,stmt,rs);
//关闭数据库,释放内存
4.4图书浏览功能实现
选择菜单运行界面如图7所示。
图7
其技术实现代码如下:
//预览所有图书信息并打印至控制台
voidbrowse(){
Connectionconn=DBHelp.getConn();
PreparedStatementbook2=conn.prepareStatement("
select*frominformation"
ResultSetrss=book2.executeQuery();
//执行SQLselect语句,赋值给rss
-------------------------------------------------------------------------------"
★★★图书信息表★★★"
图书编号书名作者出版社出版日期简介图书类别"
while(rss.next()){//ResultSet目前只提供基本的顺序读取数据的能力,而遍历操作通过next()来完成
Stringbnu=rss.getString
(1);
Stringbname=rss.getString
(2);
Stringbauthor=rss.getString(3);
Stringbpublish=rss.getString(4);
Stringbdate=rss.getString(5);
Stringbinformation=rss.getString(6);
Stringbkind=rss.getString(7);
System.out.println(bnu+"
"
+bname
+"
+bauthor+"
+bpublish+"
+bdate
+binformation+"
+bkind);
}catch(Exceptione){
browse函数出现异常:
4.5图书删除功能实现
图书删除用于删除书籍信息,管理员以图书编号查询,然后到oracle数据库中表查询相应的记录,若存在则将此记录信息读出来,将此记录从表中删除。
若表中不存在相应的记录,则提示无此书。
运行界面如图8所示。
(编号2被删除了)
图8
其技术具体实现的代码如下:
voiddelete(){
Stringsql="
sql="
deletefromINFORMATIONwhereid='
+JOptionPane.showInputDialog("
请输入你需要删除信息的图书编号:
)+"
if(!
stmt.execute())
刪除成功!
else{
删除失败!
DBHelp.getClose(conn,stmt,null);
刪除失敗,请核对编号!
4.6图书信息修改功能实现
其主要是通过图书的编号和书名来查询的,其运行界面如图8所示。
其具体的技术实现代码如下:
voidupdate(){
Connectionconn=DBHelp.getConn();
PreparedStatementstmt=null;
ResultSetrs=null;
Stringid=JOptionPane.showInputDialog("
请输入你需要修改信息的图书编号:
Stringauthor=JOptionPane.showInputDialog("
Stringpublish=JOptionPane.showInputDialog("
请输入出版社:
Stringdate=JOptionPane.showInputDialog("
Stringinformation=JOptionPane.showInpu