图书管理系统java+Oracle

一、课程设计实验目的

课程设计围绕课程的整体教学目标进行,具有一定的综合性和应用性,只靠个别单元的知识一般不能实现课程设计的目标,需要对课程知识进行综合运用。要完成好课程设计,就要对课程知识进行系统学习、复习、总结、应用,达到在实践中学习知识、掌握知识、应用知识和培养能力的目的。
①通过课程设计,进一步熟悉掌握Oracle数据库的基本知识点。
②通过课程设计,达到系统理解、综合运用课程知识的学习目标。
③通过课程设计,学会应用Java语言程序解诀实际问题的方法。
④通过课程设计,掌握程序的局部测试、调试方法,建立程序系统调试、测试的基本概念和思想,学会较大程序的系统测试、调试方法。
通过使用java编程语言连接Oracle数据库实现小型程序项目,巩固对java语言理论知识–面向对象、swing、和Oracle数据库知识的理解,提升代码编写、bug调试能力。

二、课程设计任务及要求

1.设计任务
(1)每种图书有书号、书名、出版社、作者、借阅状态。
(2)借书记录有学生的学号、书号、登记时期等。
2.设计要求
(1)实现新进图书的数据录入和下架图书的数据删除。
(2)实现借阅图书证信息的录入和删除。
(3)能够记录学生的个人资料和所借图书的书名、书号、借书时间等。
(4)能够进行借书还书处理。
(5)能够进行用户管理

三、数据库设计

1.需求分析
需求分析的目标是了解用户对开发的数据库应用系统的确切要求。需求分析是设计数据的起点,需求分析的结果是否正确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和使用。在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。
这里把系统的层次划分为了四个部分:图书维护,人员信息管理,图书借阅管理,信息查询。能够实现以下功能:
①进行新书入库、现有图书信息修改以及删除;
②能够实现对读者管理;
③能够进行借阅归还图书功能;
④能够进行借阅信息的查询功能;

2.概念结构设计
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。这里一共建立了三个表users,borrows,books

(1)实体及属性图如下:

(2)E-R图:

3.逻辑结构设计
逻辑结构设计将概念模型转换成特定DBMS所支持的数据模型的过程,由初始关系模式设计到关系模式规范化再到模式评价
(1)将E-R图转换为关系模型
(2)模型优化
(3)完成数据库模式定义描述,包括各模式的逻辑结构定义、关系的完整性和安全性等内

E-R图向关系模型转换要解决的问题是如何将实体型和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。
关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体型、实体的属性和实体型之间的联系3个要素组成的。所以将E-R图转换为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:
一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
(1)一个m: n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而实体的码组成关系码或关系码得一部分。
(5)具有相同码的关系模式可合并。
由于管理员与图书之间的联系是1:n(一对多),可以将其之间的联系与n端实体图书合并,而读者与图书之间的借阅和归还联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是 m:n(多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:

Users(USER_ID,USER_NAME,USER_PASS,USER_DEPART,USER_CLASS)
Books(BOOK_ID,BOOK_NAME,BOOK_PUBLISHER,BOOK_CLASSIFY,BOOK_STATUS)
Borrows(BORROW_ID,USER_ID,BOOK_ID,BORROW_DATE,RETURN_DATE)

4.物理结构设计
物理结构设计
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。

(1)表结构:
Users
列名 数据类型 允许为空 是否主键 备注
USER_ID VARCHAR2(10BYTE) No Yes 用户ID
USER_NAME VARCHAR2(20BYTE) No No 用户姓名
USER_PASS VARCHAR2(16BYTE) No No 用户密码
USER_DEPART VARCHAR2(50BYTE) Yes No 用户部门
USER_CLASS VARCHAR2(50BYTE) Yes No 用户班级

Books
列名 数据类型 允许为空 是否主键 备注
BOOK_ID NUMBER(10,0) No Yes 图书编号
BOOK_NAME VARCHAR2(50BYTE) No No 图书名
BOOK_PUBLISHER VARCHAR2(50BYTE) Yes No 出版社
BOOK_CLASSIFY VARCHAR2(20BYTE) Yes No 图书种类
BOOK_STATUS NUMBER(1,0) No No 图书状态,1为在架可借,0为已借出

Borrows
列名 数据类型 允许为空 是否主键 备注
BORROW_ID NUMBER(10,0) No Yes 借阅记录编号
USER_ID VARCHAR2(10BYTE) No No 外键
BOOK_ID NUMBER(10,0) No No 外键
BORROW_DATE CHAR(50 BYTE) Yes No 借书日期
RETURN_DATE CHAR(50 BYTE) Yes No 还书日期

(2)Oracle建表脚本
Users:
CREATE TABLE users
(
USER_ID NUMBER(10,0) NOT NULL PRIMARY KEY,
USER_NAME VARCHAR2(20) NOT NULL,
USER_PASSVARCHAR2(16) NOT NULL,
USER_DEPARTVARCHAR2(50) NULL,
USER_CLASS VARCHAR2(50) NULL
);

Books:
CREATE TABLE books
(
BOOK_ID NUMBER(10,0) NOT NULL PRIMARY KEY,
BOOK_NAME VARCHAR2(50) NOT NULL,
BOOK_PUBLISHER VARCHAR2(50) NULL,
BOOK_CLASSIFY VARCHAR2(20) NULL,
BOOK_STATUS NUMBER(1,0) NOT NULL
);

Borrows:
CREATE TABLE borrows
(
BORROW_ID NUMBER(10,0) NOT NULL PRIMARY KEY,
USER_ID VARCHAR2(50) NOT NULL references users(USER_ID) ,
BOOK_ID VARCHAR2(50) NOT NULL references users(BOOK_ID),
BORROW_DATE VARCHAR2(20) NULL,
RETURN_DATE VARCHAR2(20) NULL
);

(3)创建索引及触发器
–建立索引 从1开始每次加一最大值9999999999
CREATE SEQUENCE seqBorrowId
increment by 1
START WITH 1
maxvalue 9999999999
nocycle
nocache
order;

–建立触发器 用作向borrows表插入纪录时,自动添加主键BORROW_ID
CREATE OR REPLACE TRIGGER triggerBorrowId
BEFORE
INSERT ON borrows FOR EACH ROW
WHEN(new.borrow_id IS NULL)
BEGIN
SELECT seqBorrowId.NEXTVAL INTO:NEW.borrow_id FROM DUAL;
END;

四、程序设计

1.需求分析
(1)功能分析
在这里插入图片描述

(a)超级管理员用户:需要能够添加普通用户,能够对图书进行管理,能够查询用户借书记录;
(b)普通用户:需要能够搜索图书并执行借还书操作。

4-1 功能结构图

(2)非功能性分析

(a)源代码运行,版面清晰,语言流畅易懂,各模块的分析详细准确,具有极强的可移植性;
(b)代码规范,含丰富注释,具有易懂性。
(c)管理系统版面简洁,可操作性强,拥有丰富的界面交互功能,能够极大的方便用户与管理员完成图书管理的相关操作;
(d)除上述优点外,代码具有健壮性和可维护性

2.系统设计
(1)登录界面:操作者输入对应的登录账户和密码,进入对应的操作界面。
(2)管理员界面:
提供查询图书功能,在操作成功后显示查询页面;提供添加图书功能,在添加图书界面填写相关图书信息,添加成功则弹出提示“添加成功”,反之弹出提示“添加失败”;
提供删除图书功能,在删除图书界面填写相关图书信息,添加成功则弹出提示“删除成功”,反之弹出提示“删除失败”;
提供添加用户功能,在添加用户界面填写用户相关信息,添加成功则弹出提示“添加成功”,反之弹出提示“添加失败”;
提供借阅查询功能,在新页面展示所有借阅记录,可根据条件进行相应的查询。
(3)普通用户界面:主页面展示用户个人信息;
点击“我要借书”进入借阅面板,可根据条件查询所需图书,单击图书后点击“借书”,若借书成功则弹出提示“借书成功”,反之弹出“借书失败”;
点击“我要还书”进入归还面板,单击图书后点击“还书”,若还书成功则弹出提示“还书成功”,反之弹出“还书失败”。
(4)退出系统:点击主界面右上角的叉号即可退出管理系统。
在这里插入图片描述

3.系统实现
(1)登录验证
输入对应的账户密码后从数据库后台查询相应的用户信息,验证是否匹配,若不匹配则提示“用户名或密码错误”。图4-3为登录界面,图4-4为验证流程图。

4-3 登录界面
4-4验证流程图
在这里插入图片描述
在这里插入图片描述

(2)管理员界面
登录管理员界面,可执行图书和用户相关操作。

在这里插入图片描述

(2.1)搜索
在这里插入图片描述
在这里插入图片描述

(2.2)借阅记录
在这里插入图片描述

(2.3)新增图书

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2.4)删除图书

鼠标选中,点击删除即可
在这里插入图片描述

(2.5)添加用户
在这里插入图片描述

(3)普通用户界面
在这里插入图片描述

(3.1)借书

在这里插入图片描述
在这里插入图片描述

(3.2)还书
在这里插入图片描述
在这里插入图片描述

五、软件使用说明

该实验数据从Excel表格中导入

1、登录页面,查询数据库验证用户,错误会有提示“用户名或密码错误”

2、内置admin为超级用户,账号123密码为admin
① 登录后第一个页面是展示所有书籍情况的
② 选择搜索方式可以进行搜索
③ 可以新增图书,新增完成后需要刷新,点击一下搜索即可
④ 可以点击指定行删除图书,自动刷新
⑤ 点击借书记录可以查看所有用户的借书记录
⑥ 可以根据条件搜索相应的记录,全部是模糊查询的,按日期搜索请注意下面提示的格式

3、普通用户,在admin内添加
这里有个内置的张三普通用户,账号12345密码12345
① 登录后展示个人信息,可以选择借书或还书
② 点击借书,搜索,选择对应行,点击借书完成操作
③ 点击还书,选择要还的书,点击归还

六、课程设计总结

总结问题:
这次课程设计完成了图书管理系统,其中遇到了许多问题都想尽办法解决了,如下:

1.Oracle中 char类型与vachar2类型的区别,CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。 所以这对判断用户名是否存在会出现一直不匹配导致登录时一直找不到用户,在调试多次之后发现这个问题,最终将用户名使用vachar2类型,便解决这个小bug

2.在借书操作中,要实现自动添加borrow_id主键,所以要在Oracle中创建索引及触发器

–建立索引 从1开始每次加一最大值9999999999
CREATE SEQUENCE seqBorrowId
increment by 1
START WITH 1
maxvalue 9999999999
nocycle
nocache
order;

–建立触发器 用作向borrows表插入纪录时,自动添加主键BORROW_ID
CREATE OR REPLACE TRIGGER triggerBorrowId
BEFORE
INSERT ON borrows FOR EACH ROW
WHEN(new.borrow_id IS NULL)
BEGIN
SELECT seqBorrowId.NEXTVAL INTO:NEW.borrow_id FROM DUAL;
END;
3.在实现还书操作时,涉及到判断当前书籍归还日期是否为空这一逻辑,但是在Oracle 语法中空值不等于空值,意思是 oracle中把有null值的字段当做where查询条件时,有null的数据会返回false,所以当执行还书操作后 更新书籍状态时"update borrows set return_date=? where book_id=? and user_id=? and NVL(return_date,0)=?“而不能"update borrows set return_date=? where book_id=? and user_id=? and return_date=NULL”
NVL(return_date,0)函数是将值为空的字段置为0,这样就解决了这个问题!

等等除了以上令我印象深刻的问题之外,还有一些小的问题,都在查阅资料后一一解决。

优势:我认为一些好的地方在于界面设计的比较接地气,使用流畅,操作方便,还有把连接数据库部分的代码写在 db.properties 配置文件中,这使得即便想更换数据库也不用打开源程序进行操作,只需要把修改改文件即可,这极大地实现了面向对象编程的思想,实现了封装性!
劣势:当然这个小程序还存在着一些优化的空间,界面可以设置的再优美点,功能可以再丰富一些比如增加还书期限,逾期要罚款功能,由于时间精力有限,暂且没有加入该功能!
心得体会:
通过选择图书管理系统这个题目,让我掌握Java语言的用处并进一步理解了Oracle数据库的特点及语法规则,并且可以灵活的使用Eclipse软件。同时更加深入的了解图形化界面的编程过程,使我们更加熟练的掌握Java语言,代码的规范性和完整性有了很大提高,同时对相应代码的模块化也有了相当的认识。
在分析阶段,要进行面向对象的需求分析、系统设计,列出相应的需求文档、绘制系统设计模型图,这些工作很好的锻炼了我的逻辑思维能力,同时,我也学到了很多有关于软件管理方面的知识。总体来说这次课程设计收获还是很大的,达到了自己的预期效果,并且为我未来更好的学习打下了牢固的基础,比较满意!

七、附录

1.参考文献:
[1]赵明渊. Oracle数据库教程(第二版). 北京:清华大学出版社,2020
[2]Java2实验教程(第五版),北京:清华大学出版社,2017
[3]宋杰等.Oracle数据库项目教程(第一版).北京:清华大学出版社,2015
[4]唐友等.Oracle数据库实用教程(第一版).北京:清华大学出版社,2013
[5]赵宇兰.Oracle数据库应用技术(第一版).合肥:合肥工业大学出版社2014
[6]网络数据库及应用课程设计指导书

2.程序清单

见文件《Oracle课程设计—图书管理系统源码》

  • 8
    点赞
  • 116
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
图书馆管理系统 1.课程设计的目的 目前,随着网络技术的飞速发展,各行各业都在追求信息化,以防在信息时代落伍,而普 通高校也如此,图书馆是高校师生获得知识的一个重要渠道。因此一个健全的图书管理系 统就必不可少,图书管理系统的使用大大的提高了图书馆的工作效率,很好的节省了大量 的人力、物力和财力资源。管理信息系统的开发是一个开发周期长、技术要求高、影响 因素多的复杂系统工程,因此制定一个完善、可行、合理的开发计划,不仅是系统开发成 功的保证,而且可以提高效率、节省时间、降低成本。 由于在过去人们对信息管理的主要方式是基于文本、表格等纸质的手工处理之上的, 而用手工进行图书借阅管理存在多种弊端,其中包括图书过于繁多,包含很多的信息数据 的管理对于图书借阅情况如:借阅天数、超过限定借阅时间等等的统计和核实,往往采用 对借阅卡的人工查询进行,对借阅天数等用人工计算、手抄进行。信息处理工作量大,容 易出错;由于数据繁多,容易丢失,且不易查找。总的来说缺乏系统、规范的管理手段人 们操控起来是很困难的;因此,使用电子化的管理手段将是大势所趋,建立一个图书管理 系统也是图书管理部门提高工作效益的有效手段。系统能够合理高效地利用图书资源,使 得图书借阅更加的科学合理。 2.设计方案论证 2.1需求分析 对于一个图书管理系统来说,图书的查询及数据的维护管理是其中的核心环节。在现 现行的图书管理中存在几个共同的问题: 〔1图书种类过多,数据庞大;这是几乎所有图书馆都会遇到的共同问题,各种不同种 类的图书馆为这些图书入库,进行添加于维护增加了很多的难题,对这些数据的反复输入 ,往往造成庞大的工作量和较低的效率。 〔2查询图书困难,每天的借阅情况,读者借阅的到期、还书情况,各项数据的汇总和统 计情况必须由管理员统计上报,图书库总管理员才能考虑对图书馆的硬件如某类书的需求 数量进行改变已向上级申报。 〔3图书毁坏及图书破损;在借阅过程中难免此类现象的发生,如何及时发现及事后对 毁坏图书进行淘汰和更新也是个需要解决的问题。 〔4不能及时归还图书;经常有读者超过借阅期的情况发生,对此类读者的超期信息提 示也是图书借阅管理工作中必须解决的问题之一。 本软件主要有以下几方面的功能 〔1系统部分:主要完成本系统工程的维护工作〔包括:添加用户、添加员工、修改 密码 〔2图书管理部分:要完成图书基本信息的管理〔包括:添加、修改、查询、删除图 书基本信息 〔3借阅管理部分:主要完成图书借阅的管理〔包括:图书借阅、归还、查询等2.2系 统包含的类及类之间的关系 本系统共包括15个Java源文件和1个辅助文件。类之间的关系如图1所示。 图1 类关系图 <1>AppBook.java 该文件包含主函数入口,旨在创建登录界面对象并在屏幕中居中显示。 <2>FrLogin.java 该文件是登录界面的封装类,定义并设置了登录界面相关组件及显示效果,还定义了登 录、退出按钮的事件监听。功能:点击登录按钮,对填写的信息进行验证并与数据库数据 进行比对,匹配就登录成功进入主界面;取消按钮即可退出系统。 <3>FrMain.java 该文件是主界面的封装类,定义并设置了主界面相关组件及显示效果,还定义了菜单栏 上面各菜单项的监听事件,有系统管理:修改管理员密码、退出,基本操作:添加新读者 、新书入库、借书、还书、续借、读者管理、图书管理,帮助:关于等10个事件的监听。 功能:点击对应的菜单栏就会弹出对应的对话框,并传递需要的参数。 <4>FrChange.java 该文件是修改用户密码界面的封装类,定义并设置了更改密码界面相关组件及显示效 果,还定义了确定、取消按钮的事件监听。功能:点击确定按钮,对输入的信息进行验证 并与数据库数据进行比对,匹配就更新数据库,下次登录使用新密码;取消按钮即关闭修 改密码界面。 <5>FrAddreader.java 该文件是添加新读者界面的封装类,定义并设置了添加新读者界面相关组件及显示效 果,还定义了提交、返回按钮的事件监听。功能:点击提交按钮,对输入的信息进行验证 ,通过就写入数据库然后返回读者的编号,不符合要求就提示重新输入;返回按钮即关闭 添加新读者界面。 <6>FrAddBook.java 该文件是新书入库界面的封装类,定义并设置了新书入库界面相关组件及显示效果,还 定义了提交、退出按钮的事件监听。功能:点击提交按钮,对输入的信息进行验证,通过 就写入数据库然后返回图书添加成功消息,不符合要求就提示重新输入;退出按钮即关闭 新书入库界面。 <7>FrBorrow.java 该文件是借书登记界面的封装类,定义并设置了借书登记界面相关组件及显示效果,还 定义了确定、取消按钮的事件监听。功能:点击确定按钮,对输入的信息进行验证,若输 入的信息满足要求
### 回答1: Java Oracle图书管理系统是一种基于Java编程语言和Oracle数据库的软件系统,它旨在帮助图书馆或书店有效地管理和维护其图书资源。 该系统具有以下主要功能: 1. 图书信息管理:系统可以记录图书的基本信息,如书名、作者、出版社、ISBN号等,并将其保存在Oracle数据库中。管理员可以使用系统的用户界面添加、编辑和删除图书信息。 2. 图书借阅管理:系统可以实现图书的借阅和归还功能。用户可以通过系统查询图书的可借状态,并在借阅时提供借书证信息。系统会相应地更新图书的借阅状态,并记录借阅时间和归还时间。 3. 图书搜索和检索:系统提供了便捷的搜索和检索功能。用户可以根据书名、作者、出版社等关键词进行搜索,并获取相关图书的详细信息。这可以极大地方便用户找到所需图书。 4. 用户管理:系统具备用户管理功能,管理员可以添加新用户、编辑用户信息和删除用户。此外,系统还可以维护用户的借阅记录,以便管理员或用户自行查询。 5. 统计和报表分析:系统可以根据数据库中的数据生成统计和报表分析。例如,管理员可以获得每月借阅量的报表,以及图书的热门排行榜等信息,以便了解图书馆的借阅状况。 总之,Java Oracle图书管理系统是一种功能强大且易于使用的软件系统,它可以有效地管理图书资源,提供借阅管理、图书搜索和检索、用户管理以及统计分析等功能,为图书馆或书店提供了全面的信息管理解决方案。 ### 回答2: JavaOracle图书管理系统是一种使用Java编程语言和Oracle数据库的软件应用程序,旨在帮助图书馆或其他机构管理其图书馆藏和服务。它所提供的功能可以包括以下几个方面。 首先,图书管理系统可以帮助图书馆管理图书的信息。它可以记录每本图书的基本信息,如书名、作者、出版日期、ISBN编号等。同时,它还可以记录图书的库存数量和所在位置,以便图书管理员能够更方便地管理和查找图书。 其次,该系统提供借阅和归还图书的功能。利用系统,读者可以通过输入借阅卡号或扫描图书信息将图书借出或归还。系统会自动更新图书的库存数量,并记录借阅和归还的时间和日期。这些信息对于读者的借阅历史和图书的流通情况都是非常有用的。 此外,图书管理系统还可以支持图书馆的预订和预定功能。读者可以在系统中搜索和预定他们感兴趣的图书,系统会自动记录预定信息并提醒读者图书可以借阅了。这样,读者可以更好地规划自己的阅读计划。 另外,该系统还可以提供一些辅助功能,如图书馆藏的统计和报表生成。图书管理员可以通过系统生成借阅报表、图书馆藏统计等相关数据报告,帮助他们更好地了解图书馆使用情况和获取借阅趋势。 综上所述,JavaOracle图书管理系统是一种为图书馆或其他机构提供全面管理图书馆藏和服务的软件应用程序。它具有方便、高效、准确的特点,可以帮助图书馆提供更好的服务和管理图书馆藏。 ### 回答3: JavaOracle可以结合使用来开发一个图书管理系统图书管理系统是一个用于管理图书馆的软件系统,它可以帮助图书馆管理图书的借还、归还、查询和统计等功能。 首先,我们使用Java来编写系统的前端界面。通过Java的GUI库,我们可以设计一个用户友好的界面,包括图书的搜索、借阅和归还等功能。用户可以通过输入关键词或者图书的相关信息进行检索,系统会通过与Oracle数据库的连接,从数据库中查询出符合条件的图书信息,并将其展示在界面上。用户可以选择要借阅的图书,并进行借阅操作。当图书被借出后,系统会自动减少该图书的库存量,并记录借阅者的相关信息。当图书归还时,系统会将图书的库存量增加,并更新归还日期和相关信息。 其次,我们使用Oracle数据库来存储和管理图书的相关信息。通过设计数据库的表结构,我们可以存储图书的基本信息、借阅者的信息、借阅记录和归还记录等。通过JavaOracle数据库的连接,我们可以实现数据的增删改查等功能。当用户进行借阅操作时,系统会将借阅信息储存在数据库中,当用户进行归还操作时,系统会更新归还信息。 此外,我们可以通过JavaOracle的组合,实现一些其他功能,如借阅记录的统计和图书的推荐等。通过统计借阅记录,我们可以获得图书的借阅热度和流行趋势等信息,进一步优化图书的管理策略。通过分析用户的借阅记录和阅读偏好,我们可以向用户推荐符合其兴趣的图书,提高系统的用户体验。 总之,JavaOracle的组合可以实现一个功能完善的图书管理系统,帮助图书馆对图书进行有效的管理和服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值