图书信息管理系统设计_第1页
图书信息管理系统设计_第2页
图书信息管理系统设计_第3页
图书信息管理系统设计_第4页
图书信息管理系统设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南科技学院

课程设计汇报

课程名称:面向对象程序设计课程设计

课程设计题目:图书信息管理系统

系:数学与计算科学系

专业:信息与计算科学

年级、班:2023级1班

姓名:XXX

学号:XXXXXXX

指导教师:

职称:讲师

2023年6月

自我评分

我的自我评分是80,下面是我评分的理由。

首先,我在老师给的程序上完善了图书管理系统的某些基本功能,如增长、修改、删除、

查询,其中查询功能,我添加了■种函数,JOptionPane.showInputDialog(null,"选择查找方式:

M,"Input",JOptionPane.INFORMATION-MESSAGE,null,possibleValues,possibIeValues[0]);实

现了可以按多种方式查找,如按图书编号,按图书名称,但此时重要是在Java界面的控制台

显示其内容。

然后,我通过查阅书籍,上网查询,添加了函数

J0ptionl?ane.showlnputDialogC........"),实现了简朴IJ勺图像界面,但由于时间跟水平

有限,因此图行界面效果尚未没到达预期的目的。

最终,我将数据存储在数据库(OracleDatabase10g)中,通过当地协议纯Java驱动程序,

连接「数据库,使其数据库当中U勺数据伴随界面的操作而随时更新。川

java.sql.PreparedStatenent这个java.sql.Statement接口LI勺一种变种,可以使用参数化

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章摘要

在当今这个知识经济时代,知识的大爆炸带来了图书业日勺大发展,图书数量急剧增长,

时间的增长,再查询时就需要在众多的资料中查找,费时费力,手工操作使得图书的信息管

理工作混乱而复杂。基于这个问题,开发一种智能欧J、操作简朴的、使用以便的图书信息管

理系统是非常有必要的,而本系统需要实现也正是图书信息管理系统日勺基本功能。图书信息

管理系统重要具有书籍管理的基本功能一一将图书信息存储于系统的数据库当中,管理员可

以添加新图书、修改错误的图书和删除不存在的图书,并可以查阅图书信息的状况。

图书信息管理系统是一种经典的数据库应用系统,重要波及数据的读写和数据的传递,

运用数据库OracleDatabase10g软件和Eclipse3.62_L具,采用java语言进行开发不存在技

术方面的问题。

因此,本次课程设计口勺题目是:图书信息管理系统。首先构思,针对图书信息管理系

统进行需求分析和功能分析,然后进入数据库的设计阶段,对其概念设计、逻辑设计、物理

设计进行分析。最终实现了其功能模块的详细设计,以上是我的任务安排。下面就是我U勺详

细实践过程安排:

-:查阅有关资料,针对系统的需求分析、功能分析

二:数据库设计-------概念设计(E-R图的设计等)、逻辑设计(表及视图的设计)

三:数据库设计——功能模块详细设计

关键词Javaoracle面向对象图书信息管理系统

第2章系统功能设计思绪

2.1系统思绪设计简介

本人设计的图书信息管理系统是图形信息输入和在Java控制台中输入并存。本系统重

要用于对图书馆平常工作的管理,重要任务是用计算机图书多种信息进行平常的管理,如增

长、修改、删除、查询图书日勺管理等。本系统实现了图书馆的信息自动化管理,完毕了图书

管理系统的)基本功能,该系统重要是在Java界面的控制台显示其内容,其数据是存储在数

据库当中,数据库当中的数据伴随界面日勺操作而随时更新。重要功能是用于书籍信息欧J管理,

新书的入库、图书查询、刑除图书、图书修改。

2.2系统流程

系统图书信息管理流程如下图1所示

图2

注:可以选择所需要的功能模块来实现所要日勺执行功能如卜阐明

A)添加图书功能:图书信息存储到数据库当中(重要包括图书的编号、书名、作者、

出版社、出版日期、图书简介、图书类别等);

B)修改图书功能:把数据库当中存在的图书查找出来,再对其进行修改和存储;

C)删除图书功能:对数据库中没有此书和不想存储H勺图书信息进行删除操作;

D)查询图书功能:查询工作人员对图15信息的理解,重要按照图书的编号查刊图书信息;

第3章数据库设计

3.1数据库需求分析

数据库构造要能充足满足多种信息日勺输入和输出,搜集基本数据,数据构造处理

的流程,构成一份详尽的数据字典,为详细设计做准备。针对一般图书管理系统的需

求,通过对数据管理工作过程日勺内容和数据流程的分析,得到其系统H勺逻辑模型,设

计如卜.数据项和数据构造:

•图书(图书编号,图书名称,作者,出版社,出版日期,图书简介,图书类型)

・顾客(顾客名,密码)

3.2数据库概念构造设计

本系统用到H勺数据库表的E-R图如图3

图书表information用来保留图书信息,构造如表1

表1图书表information

lljColumnName*DataType皆NullableDaMDefaultIjCOLUMNID由PrimaryKeyJCOMMENTS

IDVARCHAR2(4000BYTE)No(null)1(null)(null)

NAMEVARCMAR2(4000BYTE)No(null)2(null)(null)

AUTHORVARCKAR2(4000BYTE)No(null)3(null)(null)

PUBLISHVARCKAR2(4000BYTE)No(null)4(null)(null)

OUTDATEVARCMAR2(4000BYTE)No(null)5(null)(null)

INFORMATIONVARCHAR2(4000BYTE)No(null)6(null)(null)

KINDVARCHAR2(4000BYTE)No(null)7(null)(null)

第4章系统功能实现

4.1连接数据库模块设计

系统对图书所需要的信息都存储于数据库当中,要刈■这些数据信息进行操作,就必须连

接数据库,为了省去每次操作都要编写连接数据库程序时环节,我们把连接数据库操作封装

到一种类DBhclp.java中,在不一样的模块中调用这个类就可以对数据库进行连接,执行对

应的数据库操作,这样就使得连接数据库安全高效,程序代码简洁清晰,也符合java面向

对象的思想。

连接数据库类DBhelp.javaH勺代码如下:

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:@:1521:xe";

〃获得connection连接措施

publicstaticConnectiongetConn(){

Connectionconn=null;

try{

Class.forName(driver);

conn=DriverManager.getConnecuion(url,user,pass);

}catch(ClassNotFoundExceptione){

System.out.printin(“出现异常!!!"+e.getMessage());

//TODOAuto-generatedcatchblock.

e.printStackTrace();

}catch(SQLExceptione){

System.out.printin("出现异常!!!"+e.getMessage());

//TODOAuto-generatedcatchblock

e.printStackTrace();

)

System.out.printin(”数据库连接成功!");

returnconn;

//关闭数据库连接措施

publicstaticvoidgetClose(Connecticnconn,PreparedStatenent

stmt,

ResultSetrs){

try{

if(rs!=null){

rs.close();

}elseif(stmt!=null){

stmt.close();

}elseif(conn!=null){

conn.close();

}

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

)

)

4.2主界面功能实现

在系统H勺主界面中,包括六个功能(主功能4个):添加图书功能,查询图书功能,删

除和修改图书功能。运行界面如图4。

☆☆数学与计算科学系0801班★周小玲★设计★☆★☆★☆

★★★图书管理系统主菜单界面★★★

入隆

★★★★★★★★

0).览

★★★杳★★★

★★★.★★★

©.息

★★★★★★

.

★★★⑤®..变«改用书信息★★★

★★★★©.★★★★

请输入您的选择6):

图4

其技术实现代码详细如K:

Scannerbuf=newScanner(System.in);

voidmenu()throwsException{

intchoice;

do{

System.out.printIn数学与计算科学系0801班★周小

玲★设计;

System.out.printin(।--------------------------

System.out

.printin(*'|★★★图书管理系统主

菜单界面★★★IH);

System.out.printIn("卜

System.out

.printin(*,|★★★★①.输入图书信息

★★★★|u);

System.out

.printin(**|★★★②.预

览图书信息★★★|H);

System.out

.printin(”I★★★③.查

找图书信息★★★|");

System.out

.printin(',|★★★④.删

除图书信息★★★I");

System.out

.printin("|★★★⑤・修改图

书信息★★★|");

System.out

.printin("|★★★★⑥.安全退

出★★★★|u);

System.out.printIn("1-------

System.out.print("请输入您日勺选择(1—6):,*);

choice=Integer.parseint(buf.next());

switch(choice){

case1:

add();

break;

case2:

browse();

break;

case3:

search();

break;

case4:

delete();

break;

case5:

update();

break;

case6:

End();

break;

}

}while(true);

}

4.3图书添加功能的实现

图书入库是图书管理系统中不可缺乏的J部分,用于图书入库,通过界面中文本框接受书

籍信息,然后将此信息写入到oracle数据库中。运行界面如图5所示,运行成功提醒如图

6o

请输入您的选择(1—6):1

数据库连接成功!

请输入图书信息(以书名为。结束)

添加成功

添加成功

添加成功

图£

编辑IDIIAMEAUTHORPUBLISHOUTDATEIHFORMATIOIIKIND

艮1阿斯顿飞乌爱上对方暗室逢灯阿斯顿阿斯顿飞上的

良1阿萨德梵蒂冈风光好大概风光好风光灯

良2风格地方低功耗视范化规范规划局

3建行卡规范环境看地方电饭锅

行1-4(共4行)

图6

其技术实现H勺代码如下:

//实现增长(建立)图书信息

voidadd()throwslOException,SQLException{

Connectionconn=DBHelp.getConn()://连接数据库

PreparedStatementstmt=null;

ResultSetrs=null;

System.out.print("\n请输入图书信息(以书名为0结束)\n");

//用数组information[i]来暂存图书H勺序号,并用compareTo措施确定鉴定

与否应当写入新信息

Stringname=JOptionPane.showTnputDWalog("请输入图⑰名称:”);

while(namepareTo("U")!=0)(

Stringid=JOptionPane.showInputDialog(“请输入图行编号:“);

Stringauthor=JOptionPane.showHnputzDialog("请输入图书

”);

Stringpublish=JOptionPane.s力owrnputLdalog("请输入图书出

版社:”);

Stringdate=JOptionPane.s为0卬1二口“t0_^109(”请输入出版日期:

”);

Stringinformation=JOptionPane.showInputDialog(HiK$ftAI3

书简介:”);

Stringkind=JOptionPane.s/iowInputDialog(”请输入图书类别:

Stringsql“insertinto

INFORMATION(id,name,author,publish,outdate,information,kind)value

s(”

+”…+id+”',+name+”',n+author++

…+publish+

…+date+information…

+kind+“')

stmt=conn.prepareStatement(sql);

if(stmt.execute())

System.out.printIn(”添力口失败“);

else

System,out.printIn("添力口成功“);

name=JOptionPane.showInputDialogiu^jAT一种图书名称:*');

)

DBHelp.getCIose(conn,stmt,rs);//关闭数据库,释放内存

)

4.4图书浏览功能实现

选择菜单运行界面如图7所示。

请输入您的选择(1-6):2

数据库连接成功!

★★★图书信息表★★★

瑞嘉屋SfitStett诵丽简介图书类别

1飞上的

梵蒂冈

1风光好

地方

2规划

规范

3电板

图7

其技术实现代码如下:

//预览所有图书信息并打印至控制台

voidbrowse()(

try{

Connectionconn=DBHelp.getConn();

PreparedStatementbook2=conn.prepareStatement("select*

frominformation");

ResultSetrss=book2.executeQuery();//执行SQLselect1/;句,

赋值给rss

System.out

.print1n("------------------------------------------------------------------------------------------------------------

System.out

.printin("★★★图书信息表★

★★

System.out

.printin(n

System.out

.printin(”图书编号书名

作者出版社出版0期简介

图书类别”);

System.out

.printin(11

while(rss.next()){//Resultset「[前只提供基本的次厅:读取数据1内

能力,而遍历操作通过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.printin(bnu+”

+bname

”+bauthor+”

+bpublish+“

"+binformation+"

+bkind);

}catch(Exceptione){

System.out.printIn("browse函数出现异常:”+e.getMessage());

}

4.5图书删除功能实现

图书删除用于删除书籍信息,管理员以图书编号查询,然后到。racle数据库中表查询

对应的记录,若存在则将此记录信息读出来,将此记录从表中删除。若表中不存在对应U勺记

录,则提醒无此书。运行界面如图8所示。(编号2被删除了)

请输入您的选择(1—6):4

数据库连接成功!

删除成功!!!

编辑IDNAMEAUTHORPUBLISHOUTDATEIIIFORMATIOIIKIIID

葭2风格地方低功耗规范化规范规划局

良3建行卡规范环境看地方电饭锅

行1・2(共2行)

图8

其技术详细实现U勺代码如下:

voiddelete(){

Connectionconn=DBHelp.getConn();

PreparedStatementstmt=null;

Stringsql-'**';

try{

sql=ndeletefromINFORMATIONwhereid=*H

+JOptionPane.s力owInputNaNog(“请输入你需要删除信息Fl勺

图书编号:“)+

stmt=conn.prepareStatement(sql);

if(!stmt.execute())

System.out.printIn("删除成功!!!");

else{

System.out.printIn("删除失败:!”);

}

DBHelp.getClose(conn,stmt,null);

}catch(Exceptione){

System.out.printIn("删除失败,请查对编号!!+

e.getMessage());

)

4.6图书信息修改功能实现

其重要是通过图书的编号和书名来查询的J,其运行界面如图8所示。

图8

其详细的技术实现代码如下:

voidupdate()(

Connectionconn=DBHelp.getConn();

PreparedStatementstmt=null;

ResultSetrs=null;

Stringid=JCptionPane.s力owiTiputDizlog("请输入你需要修改信息H勺图

书编号:”);

Stringname=JOptionPane.showHnputDiaZog("请输入图书名称:n);

Stringauthor=JOptionPane.shoivIrputDialog(";

Stringpublish=JOptionPane.sbowITiputDialog("请输入出版社:n);

Stringdate=JOptionPane.s力owHnputDialog(”请输入出版口期:n);

Stringinformation=JOptionPane.showInputDialog(

介:”);

Stringkind=JOptionPane.(”请输入图竹类别:n);

try(

Stringsql=nupdateinformationset

name=*,'+name+H*,author='H+author+n',publish=*H+publish+n',outdate

='"+date+"*,information=*H+information+,'',kind=,”+kind+“,where

id=",+id+H,H;

stmt=conn.prepareStatement(sql);

if(stmt.execute())

System.out.printIn("修改失败");

else

System.out.printIn("修改成功");

}catch(Exceptione){

System.out.printin("修改失败,请核查!!!"+e.getMessage());

)

DBHelp.getClose(conn,stmt,rs);

4.7图书信息查询功能实现

其重要是通过图书的编号和书名来查询某一本图书信息,其运行界面如图9图10图11所

示。

图9

图10

稀入您的选择—6):3

威廨连接成珈

★★★图书信息表★★★

书名图棚号储出版社出版日期简介圉书麴

赌2地方低懒«懒糊局

图11

其重要代码如下:

voidsearch(){

Connectionconn=DBHeIp.getConn();

Stringsql=null;

try{

String[]possibleValues={”按编号精确查找“,”按书名查找"

StringselectedValue(String)

JOptionPane.showInputDialog(null,

nn

”选择杳找方式:",Inputz

JOptionPane.INFORMATION_MESSAGE,null,

possiblevalues,possiblevalues(0]);

if(selectedValuepareT。(”按编号精确查找")==0){

Stringsid=JOptionPane.s力owHnputDia20g(”请输入你需要

查找信息的图书编号:”);

sql="select*fromINFORMATIONwhereid=•"+sid+"1";

}else{

Stringsid=JOptionPane.s力owInputDia20g(”请输入你需要

查找信息的图书书名:”);

sql="select*fromINFORMATIONwherenamelike'舍”+

sid

+n%1";

}

PreparedStatementstmt=conn.prepareStatement(sql);

ResultSetrss=stmt.executeQuery();

System.out

.printin("------------------------------------------------------------------

System.out

.printin("★★★图书信息

表★★★

”);

Syste

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论