数据库课程设计:图书借阅系统(Java+MySQL) |
您所在的位置:网站首页 › mysql数据库技术课件 › 数据库课程设计:图书借阅系统(Java+MySQL) |
应粉丝要求,出个借阅系统swing版的,时间有些赶,可能还存在一些bug,不过不要紧,发现bug提给我,我逐个去修复与完善程序。 问题描述实现简易版图书借阅管理系统,学生(读者)在系统里可以检索图书,借阅图书,归还图书,修改密码,查看个人借阅信息等功能; 管理员有书籍信息,学生(读者)信息,借阅信息维护等功能 需求分析 系统分为管理员账户,学生(读者)账户管理员账户可以进行书籍,学生(读者)信息的维护(CRUD)学生(读者)账户可以借书,还书,检索图书,个人借阅信息浏览 要点开发语言:Java (jdk版本12+) 数据库:MySQL (版本8.0+) 工具:JDBC 交互场景:控制台 软件:IDEA(推荐),Navicat 项目构建:maven 数据库设计实体关系: 数据库表设计: 注意:所有表的主键记得勾上自增 管理员表: 书籍表: 学生表: 借书表: 1.登录验证:分读者与管理员两个身份,输入账号密码,校验通过即可进入系统,否则弹窗提示操作结果。 2.首页:读者进入系统后,首先看到的是首页,可在此处设置公告,书目推荐等信息。 3.检索:读者通过输入要查书本的ISBN或者书名即可查询 4.借还书籍:在表单输入要借图书的ISBN,点确认即可,会先确认该书是否还有库存,如果无,不能借阅成功,反之可以;表格显示的是当前登录用户的借阅信息,鼠标指针选中一行,点击右下角的还书,即可归还书籍。 5.个人信息:读者在此可以查看自己的个人信息,修改密码。 6.学生管理:管理员可以对学生(读者)信息进行多条件查询,新增,修改,删除。 \7. 书籍管理:管理员可以对书籍信息进行多条件查询,新增,修改,删除。 8.借阅一览:查看系统内部的借阅信息,可选中行删除记录。 9.数据汇总:重要指标数据汇总,如读者数量,书籍种类数量,库存总数等,可根据实际来调整。 CRUD方法封装类 package com.tushu.dao; import com.tushu.utils.ConnDB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public abstract class BaseDAO { // 共通的增删改方法 public int update(String sql,Object[] arr) { Connection conn = ConnDB.getConnection(); PreparedStatement pst = null; try { pst = conn.prepareStatement(sql); //对占位符赋值 for (int i = 0; i // TODO Auto-generated catch block e.printStackTrace(); }finally { ConnDB.closeDB(null, pst, conn); } return 0; } // 共通查询 public T select(String sql,Object[] arr){ Connection conn = ConnDB.getConnection(); PreparedStatement pst = null; ResultSet rs = null; T t = null; try { pst= conn.prepareStatement(sql); for (int i = 0; i // 收集对象的属性 t = this.rowMapper(rs); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { ConnDB.closeDB(null, pst, conn); } return t; } // 查询结果集合 public List selectAll(String sql,Object[] arr){ List list = new ArrayList(); Connection conn = ConnDB.getConnection(); PreparedStatement pst = null; ResultSet rs = null; try { pst= conn.prepareStatement(sql); for (int i = 0; i // 收集对象的属性 t = this.rowMapper(rs); // 添加到集合 list.add(t); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { ConnDB.closeDB(null, pst, conn); } return list; } // 定义方法 每个查询的结果集获取对应的属性 public abstract T rowMapper(ResultSet rs) throws SQLException; }篇幅有限,就不在这里展示全部代码了。 完整源码=》: https://gitee.com/yan-sheng-li/lend-system-win 本次分享到这!!! 下期见!! 拜拜! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |