我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在Java中利用MySQL实现一个图书管理系统

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在Java中利用MySQL实现一个图书管理系统

今天就跟大家聊聊有关怎么在Java中利用MySQL实现一个图书管理系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一,功能

管理员登录
图书借阅信息管理
图书信息管理
管理员更改密码
退出系统

二,工具

Eclipse Version: 2018-09 (4.9.0)
MySQL Workbench 8.0 CE
mysql-connector-java-8.0.13.jar

四、数据库设计

怎么在Java中利用MySQL实现一个图书管理系统

1)图书表

怎么在Java中利用MySQL实现一个图书管理系统

2)用户表

怎么在Java中利用MySQL实现一个图书管理系统

两个数据表间没有关联:

怎么在Java中利用MySQL实现一个图书管理系统

五、JAVA层次分析

(1)逻辑图

怎么在Java中利用MySQL实现一个图书管理系统

(2)包结构,采用MVC三层架构组织各个模块

怎么在Java中利用MySQL实现一个图书管理系统

六、主要Java代码分析

Dao类(以BookDao为例)

package pers.cyz.dao; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List; import pers.cyz.model.Book;import pers.cyz.util.DBUtil; public class BookDao {   public void addBook(Book book) throws Exception{ // 首先拿到数据库的连接 Connection con = DBUtil.getConnection(); String sql="insert into tb_books" // ISBN、书名、图书价格、图书作者、出版社 + "(ISBN, book_name, book_price, book_author, published_house," // 分类号、借书人姓名、借书人电话、借书日期,已借天数 + "book_category, borrower_name, borrower_phone) " + "values("  + "?,?,?,?,?,?,?,?)";  PreparedStatement psmt = con.prepareStatement(sql); // 先对应SQL语句,给SQL语句传递参数 psmt.setString(1, book.getISBN()); psmt.setString(2, book.getBookName()); psmt.setFloat(3, book.getPrice()); psmt.setString(4, book.getAuthor()); psmt.setString(5, book.getPublishHouse()); psmt.setString(6, book.getBookCategory());  if (book.getBorrowerName() == null || book.getBorrowerName() == "") { psmt.setString(7, null); } else {  psmt.setString(7, book.getBorrowerName()); }  if (book.getBorrowerPhone() == null || book.getBorrowerPhone() == "") {  psmt.setString(8, null);  } else { psmt.setString(8, book.getBorrowerPhone());  }  //执行SQL语句 psmt.execute();  }   public void delBook(int ID) throws SQLException{  // 首先拿到数据库的连接  Connection con=DBUtil.getConnection();  String sql="" +    "DELETE FROM tb_books "+     // 参数用?表示,相当于占位符   "WHERE ID = ?";  // 预编译sql语句  PreparedStatement psmt = con.prepareStatement(sql);  // 先对应SQL语句,给SQL语句传递参数  psmt.setInt(1, ID);  // 执行SQL语句  psmt.execute();  }   public void changeBook(Book book) throws SQLException{ // 首先拿到数据库的连接 Connection con=DBUtil.getConnection(); String sql="update tb_books " + "set ISBN = ?, book_name = ?, book_price = ?, book_author = ?"  + ",published_house = ?, book_category = ?, borrower_name = ?, borrower_phone = ? "  // 参数用?表示,相当于占位符  + "where ID = ?"; // 预编译sql语句 PreparedStatement psmt = con.prepareStatement(sql); // 先对应SQL语句,给SQL语句传递参数 psmt.setString(1, book.getISBN()); psmt.setString(2, book.getBookName()); psmt.setFloat(3, book.getPrice()); psmt.setString(4, book.getAuthor()); psmt.setString(5, book.getPublishHouse()); psmt.setString(6, book.getBookCategory()); if (book.getBorrowerName().equals("")) { psmt.setString(7, null); } else {  psmt.setString(7, book.getBorrowerName()); }  if (book.getBorrowerPhone().equals("")) { psmt.setString(8, null); } else {  psmt.setString(8, book.getBorrowerPhone()); } psmt.setInt(9, book.getID()); // 执行SQL语句 psmt.execute();  }   public List<Book> query() throws Exception{ Connection con = DBUtil.getConnection(); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select "// ISBN、书名、作者、图书价格、出版社+ "ID, ISBN, book_name, book_author, book_price, published_house, "// 分类号、借书人姓名、借书人电话+ "book_category, borrower_name, borrower_phone "+ "from tb_books"); List<Book> bookList = new ArrayList<Book>(); Book book = null; // 如果对象中有数据,就会循环打印出来while (rs.next()){  book = new Book(); book.setID(rs.getInt("ID"));book.setISBN(rs.getString("ISBN"));book.setBookName(rs.getString("book_name")); book.setAuthor(rs.getString("book_author"));book.setPrice(rs.getFloat("book_price"));book.setPublishHouse(rs.getString("published_house"));book.setBookCategory(rs.getString("book_category"));book.setBorrowerName(rs.getString("borrower_name"));book.setBorrowerPhone(rs.getString("borrower_phone"));bookList.add(book); } return bookList; }  public List<Book> borrowQuery() throws Exception{ Connection con = DBUtil.getConnection(); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(""// ID、书名、借书人姓名、借书人电话+ "SELECT ID, book_name, borrower_name, borrower_phone "+ "FROM tb_books "+ "WHERE borrower_name IS NOT NULL"); List<Book> bookList = new ArrayList<Book>(); Book book = null; // 如果对象中有数据,就会循环打印出来while (rs.next()){  book = new Book(); book.setID(rs.getInt("ID"));book.setBookName(rs.getString("book_name")); book.setBorrowerName(rs.getString("borrower_name"));book.setBorrowerPhone(rs.getString("borrower_phone"));bookList.add(book); } return bookList; }  public void returnBook(Book book) throws SQLException{ // 首先拿到数据库的连接 Connection con=DBUtil.getConnection(); String sql="UPDATE tb_books " // ISBN、图书名称、作者、价格 + "SET " // 借书人姓名、借书人电话 + "borrower_name = ?, borrower_phone = ? "  // 参数用?表示,相当于占位符  + "WHERE ID = ?"; // 预编译sql语句 PreparedStatement psmt = con.prepareStatement(sql); // 先对应SQL语句,给SQL语句传递参数 psmt.setString(1, book.getBorrowerName()); psmt.setString(2, book.getBorrowerPhone()); psmt.setInt(3, book.getID()); // 执行SQL语句 psmt.execute();  } }

重点内容 :

JDBC进行简单的数据库增删改查

详细参考:https://www.cnblogs.com/Qian123/p/5339164.html#_labelTop

Model类(以Book为例)

package pers.cyz.model; public class Book {private int ID;// ISBN号private String ISBN;// 图书名称private String bookName;// 图书价格private float price;// 图书作者private String author;// 出版社private String publishedHouse;// 图书分类号private String bookCategory;// 借书人姓名private String borrowerName;// 借书人电话private String borrowerPhone; public int getID() {return ID;}public void setID(int iD) {ID = iD;}public String getISBN() {return ISBN;}public void setISBN(String iSBN) {ISBN = iSBN;}public String getBookName() {return bookName;}public void setBookName(String bookName) {this.bookName = bookName;}public float getPrice() {return price;}public void setPrice(float price) {this.price = price;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public String getPublishHouse() {return publishedHouse;}public void setPublishHouse(String publishedHouse) {this.publishedHouse = publishedHouse;}public String getBookCategory() {return bookCategory;}public void setBookCategory(String bookCategory) {this.bookCategory = bookCategory;}public String getBorrowerName() {return borrowerName;}public void setBorrowerName(String borrowerName) {this.borrowerName = borrowerName;}public String getBorrowerPhone() {return borrowerPhone;}public void setBorrowerPhone(String borrowerPhone) {this.borrowerPhone = borrowerPhone;} }

重点内容 :

主要就是数据库对应表中各对应的字段get、set方法

Eclipse技巧:

Shift + alt + s  -> Generate Getters and Setters -> Select all -> Generate 自动生成set、get方法

怎么在Java中利用MySQL实现一个图书管理系统怎么在Java中利用MySQL实现一个图书管理系统

Controller类(以BookAction为例)

package pers.cyz.controller; import java.util.List; import javax.swing.JTable;import javax.swing.JTextField; import pers.cyz.dao.BookDao;import pers.cyz.model.Book;  public class BookAction {  @SuppressWarnings("rawtypes")public Object[][] initializTable(String[] columnNames) throws Exception{BookDao bookDao = new BookDao();List list = bookDao.query();Object[][] results = new Object[list.size()][columnNames.length];for(int i = 0; i < list.size(); i++) {Book book = (Book)list.get(i);results[i][0] = book.getID();results[i][1] = book.getBookName();results[i][2] = book.getAuthor();results[i][3] = book.getPrice();results[i][4] = book.getISBN();results[i][5] = book.getPublishHouse();results[i][6] = book.getBookCategory();String borrowerName = book.getBorrowerName();if (borrowerName == null) {borrowerName = "";results[i][7] = borrowerName;}else {results[i][7] = borrowerName;}String borrowerPhone = book.getBorrowerPhone();if (borrowerPhone == null) {borrowerPhone = "";results[i][8] = borrowerPhone;}else {results[i][8] = borrowerPhone;}} return results;} public void addBookInformation (JTextField textFieldISBN, JTextField textFieldName,JTextField textFieldPrice, JTextField textFieldAuthor, JTextField textFieldPublishedHouse, JTextField textFieldBookCategory, JTextField textFieldBorrowName, JTextField textFieldBorrowPhone) throws Exception { BookDao bookDao=new BookDao(); Book book=new Book();   book.setISBN(textFieldISBN.getText());  book.setBookName(textFieldName.getText()); float price = Float.parseFloat(textFieldPrice.getText()); book.setPrice(price); book.setAuthor(textFieldAuthor.getText()); book.setPublishHouse(textFieldPublishedHouse.getText()); book.setBookCategory(textFieldBookCategory.getText());  if (textFieldBorrowName.getText() == null ||textFieldBorrowName.getText() == "" ) { book.setBorrowerName(null); } else {  book.setBorrowerName(textFieldBorrowName.getText()); }  if (textFieldBorrowPhone.getText() == null || textFieldBorrowPhone.getText() == "") { book.setBorrowerPhone(null); } else { book.setBorrowerPhone(textFieldBorrowPhone.getText()); }  //添加图书 bookDao.addBook(book);} public void delBookInformation (JTable table) throws Exception {int selRow = table.getSelectedRow();int ID = Integer.parseInt(table.getValueAt(selRow, 0).toString()); BookDao bookDao=new BookDao(); Book book=new Book();   book.setID(ID);  // 删除图书信息 bookDao.delBook(ID);}public void changeBookInformation (JTextField textFieldISBN, JTextField textFieldName,JTextField textFieldPrice, JTextField textFieldAuthor, JTextField textFieldPublishedHouse, JTextField textFieldBookCategory, JTextField textFieldBorrowerName, JTextField textFieldBorrowerPhone, JTable table) throws Exception{ BookDao bookDao=new BookDao(); Book book=new Book();  int selRow = table.getSelectedRow();int ID = Integer.parseInt(table.getValueAt(selRow, 0).toString()); book.setID(ID);  book.setISBN(textFieldISBN.getText());  book.setBookName(textFieldName.getText()); book.setAuthor(textFieldAuthor.getText()); float price = Float.parseFloat(textFieldPrice.getText()); book.setPrice(price); book.setPublishHouse(textFieldPublishedHouse.getText()); book.setBookCategory(textFieldBookCategory.getText()); book.setBorrowerName(textFieldBorrowerName.getText()); book.setBorrowerPhone(textFieldBorrowerPhone.getText());   //修改图书 bookDao.changeBook(book); }}

util类(以DBUtil为例)

package pers.cyz.util; import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; public class DBUtil {// 数据库连接路径private static final String URL = "jdbc:mysql://127.0.0.1:3306/db_books?"+ "useUnicode = true & serverTimezone = GMT"// MySQL在高版本需要指明是否进行SSL连接+ "& characterEncoding = utf8 & useSSL = false";private static final String NAME = "root";private static final String PASSWORD = "root";private static Connection conn = null;// 静态代码块(将加载驱动、连接数据库放入静态块中) static{ try {  // 加载驱动程序  Class.forName("com.mysql.cj.jdbc.Driver");  // 获取数据库的连接  conn = DriverManager.getConnection(URL, NAME, PASSWORD); } catch (ClassNotFoundException e) {  e.printStackTrace(); } catch (SQLException e) {  e.printStackTrace(); } }  // 对外提供一个方法来获取数据库连接  public static Connection getConnection(){  return conn;  }}

util类(以BackgroundImage为例)

package pers.cyz.util; import java.awt.Container; import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel; public class BackgroundImage {public BackgroundImage(JFrame frame,Container container,String ImageName) {// 限定加载图片路径ImageIcon icon= new ImageIcon("res/" + ImageName);final JLabel labelBackground = new JLabel();ImageIcon iconBookManageSystemBackground = icon;labelBackground.setIcon(iconBookManageSystemBackground);// 设置label的大小labelBackground.setBounds(0,0,iconBookManageSystemBackground.getIconWidth(),iconBookManageSystemBackground.getIconHeight());// 将背景图片标签放入桌面面板的最底层frame.getLayeredPane().add(labelBackground,new Integer(Integer.MIN_VALUE));// 将容器转换为面板设置为透明JPanel panel = (JPanel)container;panel.setOpaque(false);} }

看完上述内容,你们对怎么在Java中利用MySQL实现一个图书管理系统有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在Java中利用MySQL实现一个图书管理系统

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么在Java中利用MySQL实现一个图书管理系统

今天就跟大家聊聊有关怎么在Java中利用MySQL实现一个图书管理系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一,功能管理员登录图书借阅信息管理图书信息管理管理员更改密码退出系
2023-06-14

怎么用Java实现图书管理系统

这篇文章主要讲解了“怎么用Java实现图书管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Java实现图书管理系统”吧!目录设计准备一、系统开发目的和意义二、系统总体设计主页:系
2023-06-20

Java怎么实现图书管理系统

本篇内容主要讲解“Java怎么实现图书管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现图书管理系统”吧!一、项目简述功能包括(管理员和学生角色): 管理员和学生登录,图书管
2023-06-21

怎么在java中使用mysql实现一个学生信息管理系统

今天就跟大家聊聊有关怎么在java中使用mysql实现一个学生信息管理系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体内容如下import java.awt.BorderLay
2023-05-30

JAVA中怎么进行图书管理系统的实现

今天给大家介绍一下JAVA中怎么进行图书管理系统的实现。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。一、简介在学习了Java语法的类、接口、继承、多态、接口等
2023-06-28

Java顺序表怎么实现图书管理系统

这篇文章主要讲解了“Java顺序表怎么实现图书管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java顺序表怎么实现图书管理系统”吧!一、简介实现此项目的目的是巩固并理解前面的知识点:
2023-06-25

Django图书管理系统怎么实现

本篇内容主要讲解“Django图书管理系统怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Django图书管理系统怎么实现”吧!项目使用python开发,采用Django框架,数据库采用M
2023-07-02

shell怎么实现图书管理系统

这篇文章主要介绍了shell怎么实现图书管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下#!/bin/bash #author:zhanghongjun #
2023-06-09

如何使用MySQL和Java实现一个在线图书借阅系统

如何使用MySQL和Java实现一个在线图书借阅系统引言:随着现代社会信息化的推进,越来越多的人选择在互联网上借阅图书。为了方便用户借阅图书,需要建立一个高效、可靠的在线图书借阅系统。而MySQL和Java是目前应用最广泛的关系数据库和编程
2023-10-22

java中怎么实现一个航空用户管理系统

这期内容当中小编将会给大家带来有关java中怎么实现一个航空用户管理系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。用户模块:1. 用户添加2. 密码修改3. 个人信息查看4. 账号状态修改(禁用0、启
2023-06-20

如何使用Java实现图书管理系统

本篇内容介绍了“如何使用Java实现图书管理系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一. 功能介绍1.1 使用介绍1.输入姓名2.
2023-07-02

怎么使用Java实现简易版的图书管理系统

这篇文章主要介绍“怎么使用Java实现简易版的图书管理系统”,在日常操作中,相信很多人在怎么使用Java实现简易版的图书管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Java实现简易版的图书管
2023-07-02

如何用Java代码实现图书管理系统

这篇文章主要介绍“如何用Java代码实现图书管理系统”,在日常操作中,相信很多人在如何用Java代码实现图书管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Java代码实现图书管理系统”的疑惑有所
2023-06-29

如何利用java实现一个客户信息管理系统

这篇文章将为大家详细讲解有关如何利用java实现一个客户信息管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。类图:Customer类:public class Customer { /**
2023-06-14

如何利用MySQL和Java开发一个简单的在线图书馆系统

如何利用MySQL和Java开发一个简单的在线图书馆系统引言:随着互联网的普及和发展,线上图书馆系统已经成为了现代图书馆服务的重要组成部分。通过利用MySQL数据库和Java编程语言,我们可以开发一个简单而功能强大的在线图书馆系统。本文将详
2023-10-22

C语言怎么实现图书管理系统

要实现一个图书管理系统,可以按照以下步骤进行:1. 定义图书结构体:首先要定义一个图书的结构体,包括图书的编号、名称、作者等信息。```ctypedef struct {int id;char title[100];char author[
2023-08-09

如何使用C++实现一个简单的图书馆管理系统?

如何使用C++实现一个简单的图书馆管理系统?图书馆是一个重要的知识和文化传播场所,而一个高效的图书馆管理系统能够提升图书馆的运作效率,方便读者借阅图书和管理图书馆资源。本文将介绍如何使用C++编程语言实现一个简单的图书馆管理系统。首先,我们
如何使用C++实现一个简单的图书馆管理系统?
2023-11-02

怎么用C++代码实现图书馆管理系统

这篇“怎么用C++代码实现图书馆管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用C++代码实现图书馆管理系统”文
2023-06-29

编程热搜

目录