图书管理系统(数据库Mysql)

作品页面大致介绍:

登录页面:

账号、密码、是否同意登录协议。

用户注册页面:

字段:姓名、性别、账号、密码、电话等

注册按钮

是否同意注册协议

管理员统计页面:

功能:增加、删除、修改、查找(根据姓名或者id)

图书页面

用户:查找(根据图书的名字或者书的id)

管理员:增加、删除、修改、查找(根据书名或者书的id)

借阅记录页面:

字段:b_id(书的编号)、书名、借阅人姓名、借阅人电话、书本状态等

运行后,第一个是登录页面,除了登录按钮上面还会有注册按钮,当用户第一次使用时可以先进行注册;

注册登录后,用户填写个人信息后进行借阅书籍,也可以查看自己借阅书籍的借阅记录;管理员登录后,可以查看其他管理员的账号,并且可以对图书以及借阅记录进行增删改查

 

注意的地方:

1、注册的账号需要保持唯一性

2、jdbc连接失败可能是:mysql断开了;需要重新导入jar包

集中步骤:

页面跳转:

登录——>注册 登录——>library 登录——>图书管理 library——>个人借书记录 图书管理——>总借书记录

一.实现各个页面之间的跳转, 连接jdbc

  • 公共部分:

  • 页面之间互相跳转,写在最开始那个页面的类中:

regist:点击的按钮的fx:id Register.fxml是将要跳转到的页面

二、能获取到页面文本框中输入的内容,有条件性的实现登录

  • 判断数据库中是否有这组数据

  • 判断账号密码是否相等以及是否签订登录协议来满足登录条件并实现页面跳转,注册同理

三、能够将注册页面中输入的信息导入到数据库中、单选按钮唯一性

  • 先设置一个方法用sql语句来实现插入操作(将文本框中的内容插入到数据库中)、

  • 在自行输入注册的账号和密码时,先判定该账号是否被是注册过,如果没有的话,获取页面文本框中的内容,作为insert方法的参数;结合上面的insert方法的功能将内容插入到数据库中

四、将从数据库中筛选出来的内容分类呈现到书库的页面中去

  • 首先创建一个带参数的方法,通过sql语句查询经查询到的数据库中的信息存入到data中,然后再while循环中将data中每个属性(b_id、b_name...)赋值,然后将这些属性与页面中的列绑定起来

  • 但要实现点击指定按钮筛选出不同类型的书籍,就要设定一个状态变量state,让其初始为0;然后在分类的类中,通过不同按钮所对应的类中设置不同的state值

这只是其中两种类型的,其他的同理

  • 然后回到原来的类中的一个初始化方法(因为实现的是最开始图书馆的页面中就已经有书籍了),然后根据不同的state值来给adddate方法传不同的参数来从数据库中选出对应类型的书籍并渲染到页面列表中

 

五、各项功能(增删改查)

  1. 查询
  • 首先声明一个方法,通过sql语句查询同时满足书名、作者和类型的书籍然后将其存到一个集合里,并将其返回

  • 在搜索按钮的点击事件中,先声明一个集合,根据state来判断点击的是哪个类型书籍的按钮,然后点用上面的方法,传入三个参数:搜索时输入的书名、搜索时输入的作者、以及这个状态时的书籍类型;
  • 将查询到的数据存入上面声明的集合中
  • 将之前的页面清除,把新查询到的数据插入表格中
  • 最后显示表格,就实现了我们想要的效果
2.增、删、改
  • 可以创建一个booksql类,用来专门存储关于书籍增删改的sql语句;创建对应的方法来实现相应的功能

  • 然后分别创建增删改各自的类,在里面创建方法;可以先分别再画一个页面来存储要 增删改的内容,所以涉及到页面的跳转:由图书管理页面---->增删改重绘的小页面 小页面------>图书管理页面(实现功能后,要跳转回来)

  • 在各自的类里创建方法:

这三个功能实现的方法基本一致

3.实现用户的借阅功能
  • 通过点击功能获取到要借书的书名和作者、用Java的函数来获取到当前时间、默认书本状态是“未归还”

  • 将新借阅的记录存入数据库中

  • 要将每个用户的借阅记录从总的借阅记录库中筛选出来

  • 借阅哪本书后,该书的剩余量减一,借出次数加一

4.归还图书的功能
  • 点击这行数据,再点击归还
  • 先检查这本书的状态是什么,然后将个人借书记录中的“未归还”改为“已归还”;

  • 书的剩余数量加一

5.查找某本书借阅记录的功能
  • 利用sql语句通过书本的名称和作者将书本查出来,存到一个集合中并返回

  • 将原来页面上的数据清空,然后将刚才存入数据的集合放入页面中并显示出来

组长检查后出现的问题:

1、未能通过模糊查询来实现书本和借阅记录的搜索功能

  • 通过修改搜索功能处的sql语句,使用模糊查询,将%写在合适的位置

2、信息变动地方:打开页面时将原本的信息显示出来并进行想要实现的修改

  • 通过点击某一行来获取该行书本的信息,并实现页面的跳转

  • 更改页面初始化时就将刚获取到的信息填入页面中

  • 然后更改某个数据后,再调用更改数据库信息的bookchange方法将数据库中的信息更改

3、信息变动为空时会报错

  • 限定当这些空都不为空时(用!字段.getText().isEmpty()),进行更改;为空时则弹出一个页面进行提示

4、借书时没有实现借了同一本书好几次,归还一次只还一本书

  • 原本借阅记录的表没有主键,后将主键加上
  • 原本归还按钮在图书馆的页面中写的,后来将它调整为在借阅记录页面显示,然后当点击归还按钮时,获得其主键的数据
  • 将主键作为参数,将归还后需要改变的数据进行更改

5、价格、剩余量等数据类型为整形的字段,限制一下,如果输入字符串就提醒重新输入

  • 使用这个语句来判定输入框中的内容是否是整形

6、书本的类型要限定(添加、修改的时候)

  • 加个if语句判定一下

7、更改时书本的编号可以显示但不能被修改

  • 在初始化方法中加入:文本框名.setEditable(false);

8、添加、修改书本信息时注意不能使两本书的作者和书名都相同

  • 写一个sql语句来查询数据库中是否有这组信息

  • 然后用一个Boolean类型的数据接收,根据这个数据的true或false来决定实现怎样的功能。

9、书本的剩余数量不能小于零

  • 限定一下,如果图书馆中还有这本书则可以实现借阅功能;如果这本书已经没有了,则弹出一个窗口进行提醒

10、个人借阅时要把价钱也渲染到页面上,并且算出目前所有未归还的书的总价钱

  • 使用sql语句通过books表和record表中都有书名而联系起来,然后通过record表中的书名查询此书的在books表中的价格,并且把价格也渲染到页面上

  • 然后通过sql中的sum函数将未归还书(通过group by分类)的总价钱算出来并且通过写到初始化方法中渲染到页面上

11、注册不能为空

  • 限定文本框中的内容不能为空,否则跳出一个页面进行提醒

12、加个按钮,当搜索不到时,实现初始化

  • 在页面中添加一个复原的按钮,然后设定这个按钮的onAction属性,对应的类中会出现对应的方法,在该方法中调用初始化函数

基础知识点:

  • MySQL限定某个字段自增的语句:id INT(6) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  • 获取文本框的内容:先用fx:id给文本框命名,然后用id.getText()来获取
  • Javafx限定输入框中只能是整形:Price.getText().matches("\\d*")
  • 当同一个实体类中需要有两个类型和个数相同的构造方法,可以进行将数据的顺序调换一下,使用不同的参数顺序

 

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
第一章 概述 本文主要介绍的是专为齐齐哈尔大学学校使用而开发的图书馆信息管理系统的设计。整个系统的开发过程严格遵循软件工程的要求,做到模块化分析、模块化设计和代码编写的模块化。 项目背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率,也是图书馆的科学化、正规化管理,是与世界接轨的重要条件。 编写目的 齐齐哈尔大学是一所拥有两万余师生的高等学校,每天有大量的老师和同学到图书馆借阅书籍。记录图书借阅情况是非常繁琐工作。使用计算机可以高速,快捷地完成工作。有鉴于此,开发一套图书馆信息管理系统,是十分必要的。 采用数据库技术开发的图书馆信息管理系统可以用来实现对图书的信息管理,可以提高管理的效率。现在,大多数学校的图书馆都是封闭式管理,要求藏书全部公开开放,师生共享,开架阅览。这种阅览方式是适合当前我国国情、发挥图书馆应用作用的最佳方式,也是素质教育的最好体现。它充分发挥了图书馆的功效,最大限度地为师生服务,这也是图书馆自动化管理的最终目标。实现这一目标,必须有现代化的管理手段和管理体制。各地教育主管部门也都逐步提出学校要采用图书馆管理系统,从而实现人工管理做不到的一些功能并发挥图书馆的最大效益。越来越多的学校采用了现代化的管理软件进行管理,进一步提升了学校管理的现代化水平。 第二章 需求分析 图书馆信息管理系统是一个教育单位不可缺少的部分,它对于学校图书馆的管理十分重要,所以,图书馆信息管理系统不但要为图书管理者提供充足的信息和快捷的查询手段,也要为学生查询提供必要和快捷的查询手段,但一直以来人们仍使用传统人工的方式管理图书系统,这种管理方式存在着许多缺点,如:效率低、工作量大等,而且,随着图书数量的增长,对于图书信息的查找、更新和维护都带来了不少的困难。此外,计算机技术的不断成熟与发展使得对信息管理的应用成为可能。正是这样,图书馆信息管理系统在图书馆管理中发挥了重要的作用。 用户需求分析 1. 能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理。 2. 能够对一定数量的读者进行相应的信息存储与管理。 3. 能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。 4.正常使用时不应出错,对于用户的输入错误应给出适当的改正提示。若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。 5.满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。 软件主要功能及功能描述 软件包括两大系统: 一、学生图书借阅系统 图书借阅,归还,续借系统,修改登陆密码系统。 二、管理员系统 包括: 1. 管理员管理系统:添加、删除管理员,系统设有一个最高管理员拥有最高管理权限,修改管理员密码、登陆名。 2. 图书管理 (1)图书管理系统:查询、添加、删除、修改图书资料,可选择是否显示图书。 (2)图书分类管理系统:图书分类添加、修改、删除管理。 3. 教务管理 (1)学生班级管理系统:学生班级添加、修改、删除管理。 (2)学生信息管理系统:查询、添加、删除、修改学生资料。 4. 超时管理 图书借阅超时管理系统:列出学生超时借阅图书资料,锁定选定的学生,禁止锁定的学生再借阅,列出已锁定的学生名,可解除选定的学生,允许学生再借阅。 5. 系统配置 (1)图书馆基本配置设置系统:是否开放图书借阅,可设置可借出数量、借阅时间、续借次数、公告刷新时间,可重置为默认数据,修改配置方案。 (2)公告管理系统:公告列表,添加、修改、删除公告。 6. 数据管理 (1)管理员数据管理系统:浏览管理员详细资料(包括登陆次数,最后登陆时间,是否最高管理员)。 (2)学生数据管理系统:查询浏览学生详细资料(包括借阅次数,登陆次数,最后登陆时间)。 (3)图书借阅管理系统:可按书名、借阅学生查询借阅数据,显示已、没归还图书借阅数据信息,可清除已归还借阅信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

khatung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值