【毕业设计】MySQL+Swing图书管理系统的设计与实现

该博客介绍了使用Java Swing、MySQL数据库设计并实现的图书管理系统。系统功能包括管理员登录、密码修改、图书与读者信息管理、借阅管理等。开发环境为Eclipse 2019、JDK8,数据库连接库为mysql-connector-java-5.1.47。数据库设计包含管理员、图书和读者信息表。代码分析中提到了DBUtil类和登录界面的实现。
摘要由CSDN通过智能技术生成

Java+MySQL+Swing实现

一、功能

  1. 管理员登录、改密码、资料等
  2. 有超级权限的账号能管理其他管理员
  3. 图书信息的增删改查
  4. 能对读者的信息进行管理
  5. 借阅管理
  6. 退出登录

二、相关技术及开发环境

  1. Eclipse 2019(4.12.0)
  2. JDK8
  3. mysql-connector-java-5.1.47
  4. beautyeye_lnf
  5. Java Swing
  6. MySQL5.7

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、数据库设计

  1. 创建数据库
CREATE DATABASE library_system;

在这里插入图片描述

  1. 管理员表
use library_system;
create table Administrator(
AdminID int not null,
AdminName char(10) not null,
Account varchar(6) not null primary key,
Password varchar(32) not null,
ifsuper boolean not null
)default charset=utf8;
  1. 图书信息表
use library_system;
create table Books_Info(
BookName varchar(30) not null comment '书名' ,
SumQuantity int not null comment '总册数' ,
Quantity int not null comment '剩余册数' ,
LendTime int not null comment '借出次数',
BookID varchar(30) not null primary key comment '书刊编号' ,
BookBarcode varchar(30) not null comment '书刊条码',
BookClassify varchar(20) comment '书刊分类',
BookThem varchar(30) comment '主题词',
Author varchar(40) comment '作者' ,
Publisher varchar(20) comment '出版社' ,
PublishTime varchar(10) comment '出版版次',
PublishDate date comment '出版日期' ,
BookType varchar(10) comment '馆藏分类',
Stack varchar(20) not null comment '所在书室' ,
BookShelf varchar(20) not null comment '所在书架' ,
Price float comment '价格' ,
ContentText varchar(300) comment '简介',
Remark varchar(100) comment '备注' ,
BookPage int comment '页数' ,
WordsNumber varchar(20) comment '字数'
)default charset=utf8 comment '图书信息表'; 

在这里插入图片描述

  1. 读者信息表
use library_system;
create table Reader(
ReaderID varchar(20) not null primary key comment '学号' ,
ReaderName char(30) not null comment '姓名' ,
Apart char(10) comment '学院' ,
Sex char(2) default '男' check (Sex in ('男','女')),
Class char(10) comment '班级' ,
TelNo char(20) comment '电话' 
)default charset=utf8;

在这里插入图片描述

视图层主要是JavaSwing类,给用户提供交互界面;

监听层主要是按钮点击事件的监听,主要接受用户的请求;

服务层主要是处理各种业务请求,把的得到的结果显示在视图层上;

数据层主要负责数据的查询修改等,提供给服务层使用;

主要代码分析和使用

下面的DBUtil



import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.JOptionPane;

/**
 * DBUtils是java编程中的数据库操作实用工具,小巧简单实用,
 * 1.对于数据表的读操作,他可以把结果转换成List,Array,Set等java集合,便于程序员操作;
 * 2.对于数据表的写操作,也变得很简单(只需写sql语句)
 * @author minuy
 *
 */

public abstract class DBUtil {
   
	//声明连接数据库所需要的相关信息
	
	private static String driver = "com.mysql.jdbc.Driver";
	private static String url = "jdbc:mysql://localhost:3306/library_system?useUnicode=true&characterEncoding=UTF-8";
	private static String userName = "root";
	private static String passWord = "YourPassword";
	
	//单例化模式
	private DBUtil() {
   
		
	}
	
	//静态的方式加载JDBC驱动
	static {
   
		try {
   
			Class.forName(driver);
		} catch (ClassNotFoundException e) {
   
			e.printStackTrace();
		}
	}
	
	/**
	 * 返回一个数据库链接
	 * @return
	 */
	public static Connection getConn() {
   
		Connection conn = null;
		try {
   
			conn = DriverManager.getConnection(url, userName,passWord);
		} catch (SQLException e) {
   
			System.out.println("数据库连接失败!");
			JOptionPane.showMessageDialog(null, "服务器连接失败");
			e.printStackTrace();
		}

//		new Thread(){
   
//		    public void run(){
   
//		        try {
   
//		            Connection con = DriverManager.getConnection(connectString, sql_user, sql_pwd);
//		            con.close();
//		        } catch (SQLException e) { //连接失败
//		            e.printStackTrace();
//		        }
//		    }
//		}.start();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值