学习swing实现图书管理系统,本文实现该系统的功能截图,和数据库设计SQL语句供大家参考

1.图书管理系统技术架构

主要技术
Java Swing
开发工具和环境
Eclipse
JDK 1.7
Mysql 5.6
Win10 操作系统

2.图书管理系统数据库设计

CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(255) DEFAULT NULL,`password` varchar(255) DEFAULT NULL,`role` int(255) DEFAULT NULL COMMENT '角色  1学生 2管理员',`sex` varchar(1) DEFAULT NULL,`phone` char(11) DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACTCREATE TABLE `book_type` (`id` int(11) NOT NULL AUTO_INCREMENT,`type_name` varchar(255) DEFAULT NULL,`remark` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACTCREATE TABLE `book` (`id` int(11) NOT NULL AUTO_INCREMENT,`book_name` varchar(255) DEFAULT NULL,`type_id` int(11) DEFAULT NULL,`author` varchar(255) DEFAULT NULL,`publish` varchar(255) DEFAULT NULL,`price` double(10,2) DEFAULT NULL,`number` int(11) DEFAULT NULL,`status` int(11) DEFAULT '1' COMMENT '状态 1上架0下架',`remark` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACTCREATE TABLE `borrowdetail` (`id` int(11) NOT NULL AUTO_INCREMENT,`user_id` int(11) NOT NULL,`book_id` int(11) NOT NULL,`status` int(11) NOT NULL COMMENT '状态  1在借2已还',`borrow_time` bigint(20) DEFAULT NULL,`return_time` bigint(20) DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT
public class UserDao {public User login(Connection con,User user)throws Exception {User resultUser = null;String sql = "select * from user where username=? and password=? and role = ?";PreparedStatement pstmt = (PreparedStatement) con.prepareStatement(sql);pstmt.setString(1,user.getUserName());pstmt.setString(2,user.getPassword());pstmt.setInt(3,user.getRole());ResultSet rs = pstmt.executeQuery();if(rs.next()){resultUser = new User();resultUser.setUserId(rs.getInt("id"));resultUser.setUserName(rs.getString("username"));resultUser.setSex(rs.getString("sex"));resultUser.setPhone(rs.getString("phone"));}return resultUser;}public int addUser(Connection con,User user) throws Exception{//查询注册用户名是否存在String sql = "select * from user where userName=? ";PreparedStatement pstmt = (PreparedStatement) con.prepareStatement(sql);pstmt.setString(1,user.getUserName());ResultSet rs = pstmt.executeQuery();if(rs.next()){return 2;}sql="insert into user (username,password,role,sex,phone) values (?,?,?,?,?)";PreparedStatement pstmt2=(PreparedStatement) con.prepareStatement(sql);pstmt2.setString(1, user.getUserName());pstmt2.setString(2, user.getPassword());pstmt2.setInt(3, user.getRole());pstmt2.setString(4,user.getSex());pstmt2.setString(5,user.getPhone());return pstmt2.executeUpdate();}public ResultSet list(Connection con,User user)throws Exception{StringBuffer sb=new StringBuffer("select * from user where role = 1");if(!toolUtil.isEmpty(user.getUserName())){sb.append(" and username like '%"+user.getUserName()+"%'");}PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sb.toString());return pstmt.executeQuery();}public int update(Connection con,User user)throws Exception{String sql="update user set username=?,password=?,sex=?,phone=? where id=?";PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sql);pstmt.setString(1, user.getUserName());pstmt.setString(2, user.getPassword());pstmt.setString(3, user.getSex());pstmt.setString(4, user.getPhone());pstmt.setInt(5, user.getUserId());return pstmt.executeUpdate();}
}public class BookDao {// 图书添加public int add(Connection con,Book book)throws Exception{String sql="insert into book (book_name,type_id,author,publish,price,number,status,remark) values(?,?,?,?,?,?,?,?)";PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sql);pstmt.setString(1, book.getBookName());pstmt.setInt(2, book.getBookTypeId());pstmt.setString(3, book.getAuthor());pstmt.setString(4, book.getPublish());pstmt.setDouble(5, book.getPrice());pstmt.setInt(6, book.getNumber());pstmt.setInt(7, book.getStatus());pstmt.setString(8, book.getRemark());return pstmt.executeUpdate();}// 图书信息查询public ResultSet list(Connection con,Book book)throws Exception{StringBuffer sb=new StringBuffer("select b.*,bt.type_name from book b,book_type bt where b.type_id=bt.id");if(!toolUtil.isEmpty(book.getBookName())){sb.append(" and b.book_name like '%"+book.getBookName()+"%'");}if(!toolUtil.isEmpty(book.getAuthor())){sb.append(" and b.author like '%"+book.getAuthor()+"%'");}if(book.getBookTypeId()!=null && book.getBookTypeId()!=0){sb.append(" and b.type_id="+book.getBookTypeId());}if(book.getStatus()!=null){sb.append(" and b.status="+book.getStatus());}if(book.getBookId() != null){sb.append(" and b.id="+book.getBookId());}sb.append(" ORDER BY b.status");PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sb.toString());return pstmt.executeQuery();}// 图书信息查询(学生)public ResultSet listCan(Connection con,Book book)throws Exception{StringBuffer sb=new StringBuffer("select b.*,bt.type_name from book b,book_type bt where type_id=bt.id and b.status = 1");if(!toolUtil.isEmpty(book.getBookName())){sb.append(" and b.book_name like '%"+book.getBookName()+"%'");}if(book.getBookId() != null){sb.append(" and b.id="+book.getBookId());}PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sb.toString());return pstmt.executeQuery();}//图书信息删除public int delete(Connection con,String id)throws Exception{String sql="delete from book where id=?";PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sql);pstmt.setString(1, id);return pstmt.executeUpdate();}//图书信息修改public int update(Connection con,Book book)throws Exception{String sql="update book set book_name=?,type_id=?,author=?,publish=?,price=?,number=?,status=?,remark=? where id=?";PreparedStatement pstmt=(PreparedStatement) con.prepareStatement(sql);pstmt.setString(1, book.getBookName());pstmt.setInt(2, book.getBookTypeId());pstmt.setString(3, book.getAuthor());pstmt.setString(4, book.getPublish());pstmt.setDouble(5, book.getPrice());pstmt.setInt(6, book.getNumber());pstmt.setInt(7, book.getStatus());pstmt.setString(8, book.getRemark());pstmt.setInt(9, book.getBookId());return pstmt.executeUpdate();}}

3.图书管理系统管理员功能

3.1图书管理系统登录页面,登录者可根据不同角色进行登录


3.2图书管理系统注册页面,用户可以通过注册后登录该系统

3.3图书管理系统管理员添加书目类别页面
管理员可以添加图书属于哪种类型的,并对该类别做详细说明

3.4图书管理系统管理员查看、修改、删除书目类别页面

3.5图书管理系统管理员添加书籍页面

3.6图书管理系统管理员查看、修改、删除书籍页面

3.7图书管理系统管理员查看、修改用户页面

3.8图书管理系统管理员查看用户借阅信息页面

4.图书管理系统用户功能

用户可以查看历史借阅信息,也可以借书还书。

java Swing实现图书管理系统相关推荐

  1. 基于Java+Swing+mysql图书管理系统

    基于Java+Swing+mysql图书管理系统 一.系统介绍 二.功能展示 1.用户登陆 2.图书管理 3.图书添加 4.图书类别管理 5.图书类别添加 三.数据库 四.其它 1.其他系统实现 五. ...

  2. 基于Eclipse+Java Swing + Mysql图书管理系统

    一.项目概要: 基于Java Swing+Mysql(8.0)数据库的图书管理系统,具备登录.图书类别管理.图书管理功能. 二.获取方式: 有需要可以加QQ:571328502 点击下载 三.界面展示 ...

  3. 【Java课程设计】基于Java Swing 的图书管理系统

    文章目录 前言 一.功能结构 二.项目预览 三.数据库的设计 四.数据表的设计 五.代码实现 总结 前言

  4. 基于Eclipse+Java+Swing+Mysql图书信息管理系统

    基于Eclipse+Java+Swing+Mysql图书信息管理系统 一.系统介绍 二.功能展示 1.主页 2.新增图书信息 3.删除图书信息 三.数据库 四.其他系统实现 五.获取源码 一.系统介绍 ...

  5. Java+Swing实现医院管理系统

    Java+Swing实现医院管理系统 一.系统介绍 二.系统展示 1.登录页 2.主页面 3.病人信息录入 4.病人信息操作 5.就医档案录入 6.处方单录入 7.就医档案操作 8.医生信息录入 9. ...

  6. 基于Java+Swing+mysql眼镜店管理系统

    基于Java+Swing+mysql眼镜店管理系统 一.系统介绍 二.功能展示 1.管理员登陆 2.眼镜信息查询 3.眼镜信息添加 4.眼镜信息修改 5.眼镜信息删除 三.项目相关 3.1 乱码问题 ...

  7. Eclipse+Java+Swing实现电子相册管理系统

    Java+Swing实现电子相册管理系统 一.系统介绍 二.系统展示 1.主界面 2.全屏主界面 3.放大图片 4.缩小图片 5.幻灯片放映 三.系统实现 AutoPlay.java FileNode ...

  8. Java+Swing实现通讯录管理系统

    Java+Swing实现通讯录管理系统 一.系统介绍 1.系统功能 2.环境配置 3.数据库 4.工程截图 二.系统展示 1.登录页 2.主页 3.查询信息 4.新增信息 5.修改信息 三.部分代码 ...

  9. java图书馆管理系统_六天写出来的基于Swing的图书管理系统你不来吐槽一下?

    前段时间学习完了MySQL和JDBC,想着自己做个东西实战一下,于是写了一个烂大街的图书管理系统...但好歹是自己一个人日夜兼程,硬着头皮做出来的还像样的东西,总结一手吧.看的人欢迎吐槽.我会从以下几 ...

最新文章

  1. js 数组,字符串,JSON,bind, Name
  2. android里面画布快照,自定义 View - Canvas - 画布操作和快照
  3. flume高可用-balance-配置文件编写
  4. 「offer来了」从基础到进阶原理,从vue2到vue3,48个知识点保姆级带你巩固vuejs知识体系
  5. 【渝粤教育】电大中专混凝土结构作业 题库
  6. 消息称字节跳动将推迟IPO 官方回应:尚无上市计划
  7. Get_key.c模块流程
  8. Weka算法Classifier-tree-J48源代码分析(一个)基本数据结构和算法
  9. 《jQuery移动开发》—— 2.1 语义HTML5
  10. mysql tb级数据库_4.5万字手把手教你实现MySQL TB级数据存储!!
  11. Linux 攻击防护基础排查
  12. (NO.00003)iOS游戏简单的机器人投射游戏成形记(二十一)
  13. linux打开gaussian16软件,Gaussian View 在Ubuntu16下的安装
  14. 5月书讯 | 哺育小平邦彦、伊藤清等一代数学家的“数学圣经”终于来啦!
  15. CA证书无法与服务器连接,湖北国税常见CA登陆问题的解决办法
  16. JavaScript高级程序设计知识点汇总
  17. 百度万年历API 获取节假日和工作日调休
  18. etc/fstab 文件详解
  19. 湖南大学工训创新大作业——改进电子音乐
  20. Springboot毕设项目共享单车管理系统93je9(java+VUE+Mybatis+Maven+Mysql)

热门文章

  1. SharePoint 2013 CSOM 对象模型属性包
  2. VS code修改字体为电脑自带字体
  3. 全国历史天气查询/历史天气预报查询——全国各月份数据爬取
  4. Flutter plugin not installed this adds Flutter specific functionality
  5. 视频结构化分析及其数据集汇总
  6. excel在线_在线excel也能跨表汇总数据了
  7. 计算机软件与plc兼容,触摸屏传程序的时候显示电脑里的软件和hmi中的不兼容
  8. 台风大涡模拟三维可视化
  9. 【Python】Python之禅
  10. linux-免费ssl证书