Java+MySQL 图书管理系统

一,功能

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

二,工具

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

三、效果图:

登录界面:

主界面:

借阅书籍管理:

个人书库管理:

更改密码:

四、数据库设计

1)图书表

2)用户表

两个数据表间没有关联:

五、JAVA层次分析

(1)逻辑图

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

六、主要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;

/**
 * 数据库图书表信息数据访问对象类,包含增加图书信息、删除图书信息
 * 、更新图书信息、查询图书信息、查询借阅信息和归还图书
 *
 * @author 1651200111 陈彦志
 */
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("
 		/*
 		 * 参数用?表示,相当于占位符,然后在对参数进行赋值。当真正执行时,
 		 * 这些参数会加载在SQL语句中,把SQL语句拼接完整才去执行。这样就会减少对数据库的操作
 		 */
 		+ "?,?,?,?,?,?,?,?)";
 /*
  * prepareStatement这个方法会将SQL语句加载到驱动程序conn集成程序中,
  * 但是并不直接执行,而是当它调用execute()方法的时候才真正执行;
  */
 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;
	}

	/**
	 * 查询借阅信息
	 *
	 * @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;

/**
 * 图书模型类,包含数据库图书表各对应的字段get、set方法
 *
 * @author 1651200111 陈彦志
 */
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;

	/**
	 * 获取ID
	 */
	public int getID() {
		return ID;
	}
	/**
	 * 设置ID
	 */
	public void setID(int iD) {
		ID = iD;
	}

	/**
	 * 获取ISBN
	 */
	public String getISBN() {
		return ISBN;
	}
	/**
	 * 设置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方法

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;

/**
 * 图书信息行为控制类,包含增加图书、删除图书
 * 、 修改图书、和初始化个人书库管理窗体表格
 *
 * @author 1651200111 陈彦志
 */
public class BookAction {

	/**
	 * 初始化窗体表格
	 * @return
	 * 		results
	 */
	@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;

/**
 * 连接数据库类,包含一个对外提供获取数据库连接的方法
 *
 * @author 1651200111 陈彦志
 */
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;

/**
 * 设置背景图片类
 *
 * @author 1651200111 陈彦志
 */
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);
	}
}

重点内容 :

将图片标签放在窗体底层面板,然后将窗体转化为容器,将容器面板设为透明,背景图片就设置好了,之后就可以直接在该容器中添加组件

将所有两个或两个以上类需要用到的代码段全部封装到了公共类。
整体按照MVC三层架构组织

参考文章:https://www.cnblogs.com/Qian123/p/5339164.html#_labelTop

参考文章:https://blog.csdn.net/acm_hmj/article/details/52830920

源码打包下载地址:www.jb51.net/codes/769916.html

到此这篇关于Java+MySQL 图书管理系统的文章就介绍到这了,更多相关Java 图书管理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java+MySQL实现图书管理系统(完整代码)

    (完整代码+实训报告): 链接: https://pan.baidu.com/s/1E6BhEaHMa6Wch5yf6YAjOA 提取码: vnrx 觉着有用就点个赞哦~ 一,功能 管理员登录 图书借阅信息管理 图书信息管理 管理员更改密码 退出系统 二,工具 Eclipse Version: 2018-09 (4.9.0) MySQL Workbench 8.0 CE mysql-connector-java-8.0.13.jar 三.效果图: 登录界面: 主界面: 借阅书籍管理: 个人书库管

  • Java实战之基于I/O流设计的图书管理系统

    一.前言 当前,我还没有学到数据库相关的知识,想要完全通过Java来完成一个可以存储数据的图书馆管理系统就只能使用I/O流的知识,将内容都保存到文件中,再进行增删改查的操作,这就很考验我们的Java基础知识掌握能力. 二.项目介绍 Java基本语法的掌握 流程控制语句的熟练使用 面向对象思想的理解 能否熟练使用封装.继承.多态 接口.异常的熟悉 集合的使用 是否熟悉掌握I/O流相关操作 三.项目说明 传统的人工管理图书馆流程繁琐,我们需求设计一个图书馆管理系统来方便学生借书以及管理员管理书籍 系

  • JAVA初级项目——实现图书管理系统

    今天博主再给大家分享一个小项目:MiNi图书管理系统.用的是Java语言开发的,代码不多,大概260行左右吧,系统是实现图书的新增图书.删除图书.借阅图书.归还图书.查看图书等简单的功能(后附源代码)! 首先展示一下运行界面效果图:运行代码后,会在控制台显示如下界面: 然后让用户选择,如果用户不小心或者误输入了错误的数,会再次让用户进行输入. 当用户输入2后,可以查看图书,会显示已有的图书:包括图书书名.借阅状态.借阅次数.借阅日期等信息. 当用户输入1后,可以新增图书,再次让用户输入新增的图书

  • 图书管理系统java版

    本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段.设计一个GUI界面进行书目管理.在该界面上有四个选项卡,分别是查询.插入.删除.修改.点击查询选项卡,出现的界面上有书名.作者.出版社.书号四个文本框,一个按钮和一个只读文本区.文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的"查询"按钮,可以在界面

  • Java异常之图书管理系统

    本文实例为大家分享了Java异常之图书管理系统的具体代码,供大家参考,具体内容如下 模拟借书系统,任务要求: 感觉自己的写出来的代码不够简洁,参考了其他的案例写了一个,效果如下: 结构: 运行异常1: 运行异常2: 运行异常3: 正常运行: 1.名称查询 2.序号查询: Book.java: package com.tony; /* * 图书租赁系统 */ public class Book { public String bookName; public int bookId; public

  • 图书管理系统java代码实现

    本文实例为大家分享了java实现图书管理系统的具体代码,供大家参考,具体内容如下 /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:    <图书管理系统--java>                          * 作    者:       刘江波                       * 完成日期:    2012     年  3    

  • 一个简陋的java图书管理系统

    本文代码为原创一个简陋的管理系统,只做功能的测试.并没有去完善所有应有的功能,只做了输入输出查找,仅供参考! 菜单部分: import java.util.Scanner; public class Menu { int Min = 1; int Max = 3; public void getMenu(){ System.out.println("1.显示/2.输入/3.查找"); } public void getFindMenu(){ System.out.println(&qu

  • java实现图书管理系统

    本文通过实例为大家分享了java实现图书管理系统的具体代码,供大家参考,具体内容如下 一.背景介绍 通过一段时间java编程的学习,需要一个比较综合的实例来进行编程的练习,是一个对前段时间所学内容进行总合提升的一个契机.选择了图书管理系统,会用到的javaSE知识有:变量.包.继承.类.接口.循环结构等.是一个很综合的典例. 二.核心需求 1.用户可以登录到系统上 分为 管理员.普通用户两种角色,这两种不同的角色根据自己的身份可以实现不同的操作. 普通用户 a)查阅某个书籍的信息 b)借阅书籍

  • Java+MySQL 图书管理系统

    一,功能 管理员登录 图书借阅信息管理 图书信息管理 管理员更改密码 退出系统 二,工具 Eclipse Version: 2018-09 (4.9.0) MySQL Workbench 8.0 CE mysql-connector-java-8.0.13.jar 三.效果图: 登录界面: 主界面: 借阅书籍管理: 个人书库管理: 更改密码: 四.数据库设计 1)图书表 2)用户表 两个数据表间没有关联: 五.JAVA层次分析 (1)逻辑图 (2)包结构,采用MVC三层架构组织各个模块 六.主要

  • Java 实战图书管理系统的实现流程

    一.项目简述 功能包括(管理员和学生角色): 管理员和学生登录,图书管理,图书添加删除修改,图书 借阅,图书归还,图书查看,学生管理,借还管理,读者 管理,密码管理,信息修改等等功能. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript

  • JAVA实现图书管理系统项目

    目录 前言 项目需求 设计前提 设计目标 设计结构图 功能解读 项目实现 基本对象的设置 通过IO流的写入写出 总结 前言 相信再每一个学生在学习编程的时候,应该都会写的一个小项目--图书管理系统.为什么这么说呢?因为我认为一个学校的氛围很大一部分可以从图书馆的氛围看出来,而图书管理系统这个不大不小的项目,学生接触的多,也算是比较熟悉,就不会有陌生感,能够练手,有有些难度,所以,今天,我的小小项目也来了. 项目需求 设计前提 掌握java基本语法 熟悉使用流程控制 理解面向对象思想 熟练封装,继

  • Java实现图书管理系统的示例代码

    目录 一.功能介绍 二.Main包 三.User包 1. User 2. AdminUser 3. NormalUser 四.book包 1. Book 2. BookList 五.operations包 1. IOperation接口 2. AddOperation 3. BorrowOperation 4. DelOperation 5. DisplayOperation 6. ExitOperation 7. FindOperation 8. ReturnOperation 一.功能介绍

  • Java+Mysql学生管理系统源码

    最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com 此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改. 开发步骤:  

  • 使用java springboot设计实现的图书管理系统(建议收藏)

    目录 前言 背景意义 数据库设计 功能截图 代码实现 前言 随着网络技术的发展.计算机应用水平广泛提高,原来系统的时效性.数据的正确性.操作的方便性上都存在不足,已影响到系统的正常使用.经过考察比较,决定自己对图书管理系统重新设计,使系统能利用软件开发技术的成果,方便图书的管理.图书管理系统是典型的信息管理系统.系统介绍了图书系统的开发过程,设计中遇到的问题及解决方法以及提高当前应用程序或系统开发进度和改善工作性能.利用其提供的各种面向对象的开发工具首先在短时间内建立系统应用原型然后对初始原型系

  • Mysql实战练习之简单图书管理系统

    目录 一.梳理功能 二.准备数据库 三.构造和数据库相关的实体类 书籍 用户 NormalUser类 四.封装数据库相关操作 数据库链接操作 针对书籍表操作 针对用户表的操作 编写主逻辑(main方法和login方法) 编写operation各种细节 添加书籍操作 借书操作 删除书籍操作 查看书籍列表操作 退出系统操作 查找书籍操作 还书操作 一.梳理功能 1.能够表示书籍信息,针对每本书来说,序号,书名,作者,价格,类型. 2.能够表示用户信息,普通用户,管理员. 3.支持的操作: 对于普通用

随机推荐