Java图书管理系统,课程设计必用(源码+文档)

目录
  • 设计准备
  • 一、系统开发目的和意义
  • 二、系统总体设计
    • 主页:
    • 系统主界面:
    • 图书添加页面:
    • 图书表单操作页面:
    • 搜索页面:
    • 维护界面
  • 三、数据库
  • 四、重要源码
    • 改变系统默认字体:
    • 重置事件处理:
    • 搜索事件处理:
    • 初始化表格
  • 总结

设计准备

编程工具:eclipse、MySQL5.5

技术:java、JavaScript、jQuery、SQL、前端等

心态:坚持

……

一、系统开发目的和意义

为有效提升图书馆的管理效率,满足人们的各种必要需求,必 须在图书馆的日常管理中应用计算机管理系统。这样才能随着时代 发展不断提升图书馆的社会服务能力,使图书馆管理更具现代化特 征。系统故障会导致借书、还书出现异常。因此,安装系统时应选择质量过关的软件和硬件,要通过正规途径采购设备,选择的性能好、 运行快、存储空间大的计算机,还要选择专业的软件系统,这样才能保证检索、查阅资料、借书、还书等活动快速、高效的进行。图书馆配备了完善的计算机管理系统之后,读者就能通过手机等终端设备登录图书馆应用系统,通过小程序完成续借、查阅资料等操作,使图书馆的服务得到了优化和提升。

二、系统总体设计

主页:

系统主界面:

图书添加页面:

图书表单操作页面:

搜索页面:

维护界面

三、数据库

/*
SQLyog 企业版 - MySQL GUI v8.14
MySQL - 5.5.56 : Database - db_book
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`db_book` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `db_book`;
/*Table structure for table `t_book` */
DROP TABLE IF EXISTS `t_book`;
CREATE TABLE `t_book` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `bookName` varchar(20) DEFAULT NULL,
  `author` varchar(20) DEFAULT NULL,
  `sex` varchar(10) DEFAULT NULL,
  `price` float DEFAULT NULL,
  `bookTypeId` int(11) DEFAULT NULL,
  `bookDesc` varchar(1000) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_t_book` (`bookTypeId`),
  CONSTRAINT `FK_t_book` FOREIGN KEY (`bookTypeId`) REFERENCES `t_booktype` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
/*Data for the table `t_book` */
insert  into `t_book`(`id`,`bookName`,`author`,`sex`,`price`,`bookTypeId`,`bookDesc`) values (6,'四级宝典','任月','女',36,9,'英语单词书'),(7,'java程序设计','煜柯','男',45,10,''),(8,'艺术百科','小月','女',23,8,'音乐,舞蹈等');
/*Table structure for table `t_booktype` */
DROP TABLE IF EXISTS `t_booktype`;
CREATE TABLE `t_booktype` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `bookTypeName` varchar(20) DEFAULT NULL,
  `bookTypeDesc` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
/*Data for the table `t_booktype` */
insert  into `t_booktype`(`id`,`bookTypeName`,`bookTypeDesc`) values (8,'文学','各种文章'),(9,'英语','四六级'),(10,'应用','技能'),(11,'文学','文章');
/*Table structure for table `t_user` */
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(20) DEFAULT NULL,
  `password` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*Data for the table `t_user` */
insert  into `t_user`(`id`,`userName`,`password`) values (1,'java1234','123');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

四、重要源码

改变系统默认字体:

//改变系统默认字体
		Font font = new Font("Dialog", Font.PLAIN, 12);
		java.util.Enumeration keys = UIManager.getDefaults().keys();
		while (keys.hasMoreElements()) {
			Object key = keys.nextElement();
			Object value = UIManager.get(key);
			if (value instanceof javax.swing.plaf.FontUIResource) {
				UIManager.put(key, font);
			}
		}

重置事件处理:

/**
	 * 重置事件处理
	 * @param evt
	 */
	private void resetValueActionPerformed(ActionEvent evt) {
		// TODO Auto-generated method stub
		this.resetValue();
	}
	/**
	 * 重置表单
	 */
	private void resetValue() {
		this.bookTypeNameTxt.setText("");
		this.bookTypeDescTxt.setText("");
	}

搜索事件处理:

/**
	 * 图书类别搜索事件处理
	 * @param evt
	 */
	private void bookTypeSearchActionPerformed(ActionEvent evt) {
		// TODO Auto-generated method stub
		String s_bookTypeName=this.s_bookTypeNameTxt.getText();
		BookType bookType=new BookType();
		bookType.setBookTypeName(s_bookTypeName);
		this.fillTable(bookType);
	}

初始化表格

/**
	 * 初始化表格
	 * @param bookType
	 */
	private void fillTable(BookType bookType) {
		DefaultTableModel dtm=(DefaultTableModel) bookTypeTable.getModel();
		dtm.setRowCount(0);//设置为0行
		Connection con=null;
		try {
			con=dbUtil.getCon();
			ResultSet rs=bookTypeDao.list(null, bookType);
			while(rs.next()) {
				Vector v=new Vector();
				v.add(rs.getString("id"));
				v.add(rs.getString("bookTypeName"));
				v.add(rs.getString("bookTypeDesc"));
				dtm.addRow(v);
			}
		}catch(Exception e) {
			e.printStackTrace();
		}finally {
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

……

总结

本篇文章就到这里了,希望可以帮助到你,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Java设计模式之初识行为型模式

    一.行为型模式 行为型模式关注点在于"如何运行对象/类": 行为型模式用来描述程序在运行时复杂的流程控制: 描述多个类或对象之间怎样互相协作共同完成单个对象都无法单独完成的任务,设计算法与对象间职责的分配: 行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为. 二.模板方法模式 在模板模式中,一个抽象类公开定义了执行它的方法的方式模板.它的子类可以按需重写方法实现,但调用将以抽象类中定义的方式进行: 2.1 例子 以做饭举例 模

  • Java设计模式之浅谈模板方法模式

    一. 什么是模板方法设计模式 从字面意义上理解, 模板方法就是定义出来一套方法, 作为模板, 也就是基础. 在这个基础上, 我们可以进行加工,实现个性化的实现.比如:一日餐三. 早餐, 中餐, 晚餐. 每个人都要吃三餐, 但每个人的三餐吃的可能都不一样. 一日三餐定义了模板--早中晚, 每个人的三餐就是模板的具体实现. 1.1 模板方法的用途 将不变的行为从子类搬到超类,去除了子类中的重复代码.规范子类的结构 1.2 模板方法的定义 定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得

  • Java 程序设计总复习题(java基础代码)

    1.编写一个Java程序在屏幕上输出"你好!". //programme name Helloworld.java public class Helloworld { public static void main(String args[]) { System.out.print ("你好!" ); } } 2. 编写一个Java程序,用if-else语句判断某年份是否为闰年. // Programme Name LeapYear.java public clas

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

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

  • 解析Java实现设计模式六大原则之里氏替换原则

    一.什么是里氏替换原则 1.1.里氏替换原则定义 里氏替换原则(Liskov Substitution principle)是对子类型的特别定义的. 为什么叫里氏替换原则呢?因为这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的. 里氏替换原则有两层定义: 定义1 If S is a subtype of T, then objects of type T may be replaced with objects of type S, withou

  • Java图书管理系统,课程设计必用(源码+文档)

    目录 设计准备 一.系统开发目的和意义 二.系统总体设计 主页: 系统主界面: 图书添加页面: 图书表单操作页面: 搜索页面: 维护界面 三.数据库 四.重要源码 改变系统默认字体: 重置事件处理: 搜索事件处理: 初始化表格 总结 设计准备 编程工具:eclipse.MySQL5.5 技术:java.JavaScript.jQuery.SQL.前端等 心态:坚持 -- 一.系统开发目的和意义 为有效提升图书馆的管理效率,满足人们的各种必要需求,必 须在图书馆的日常管理中应用计算机管理系统.这样

  • Java图书管理系统课程设计

    本文实例为大家分享了Java图书管理系统的具体代码,供大家参考,具体内容如下 大二上学期做的一个Java课程设计,总分为四个Java文件,AllBook,AllBorrow,AllStudent,Tushu. 本系统是一个面向图书馆的管理系统,具有一定的实用性.它主要完成了图书的基本操作功能,全校学生信息的相关基本操作,以及对图书的借阅归还管理.本系统采用当前流行的面向对象的JAVA语言开发工具eclipse来完成整个系统的设计.系统在设计过程中不可避免地遇到了各种各样的问题,由于整个系统完全都

  • C++实现图书管理系统课程设计(面向对象)

    本文实例为大家分享了C++实现图书管理系统课程设计,供大家参考,具体内容如下 1.题目: [1]:工作人员登录后,可以进行的操作 添加学生的信息(学号,姓名,院系,最大借阅的图书数量等):修改学生的信息(学号,姓名,院系,最大借阅的图书数量等):删除学生的信息(学号,姓名,院系,最大借阅的图书数量等):如果某个学生退学,就要清除他的信息:查看学生的信息:添加图书的信息(图书号,书名,作者,出版社,数量等):修改图书的信息(图书号,书名,作者,出版社,数量等):删除图书的信息(图书号,书名,作者,

  • 深入理解Java线程池从设计思想到源码解读

    线程池:从设计思想到源码解析 前言初识线程池线程池优势线程池设计思路 深入线程池构造方法任务队列拒绝策略线程池状态初始化&容量调整&关闭 使用线程池ThreadPoolExecutorExecutors封装线程池 解读线程池execute()addWorker()Worker类runWorker()processWorkerExit() 前言 各位小伙伴儿,春节已经结束了,在此献上一篇肝了一个春节假期的迟来的拜年之作,希望读者朋友们都能有收获. 根据穆氏哲学,投入越多,收获越大.我作此文时

  • 深入了解Java线程池:从设计思想到源码解读

    目录 为什么需要线程池 线程池设计思路 线程池的工作机制 线程池的参数及使用 线程池的状态 提交任务 任务队列 线程工厂 拒绝策略 关闭线程池 Executors 静态工厂 合理地配置线程池 线程池的监控 源码分析 execute addWorker Worker runWorker getTask processWorkerExit 面试题 为什么需要线程池 我们知道创建线程的常用方式就是 new Thread() ,而每一次 new Thread() 都会重新创建一个线程,而线程的创建和销毁

  • C语言图书管理系统课程设计

    这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念. C 源代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> struct book{ char book_name[30]; int bianhao; double price; char author[20]; char state[20]; cha

  • C语言实现图书管理系统课程设计

    目录 设计要求 实现代码 运行结果 本文实例为大家分享了C语言实现图书管理系统的具体代码,供大家参考,具体内容如下 设计要求 设计图书管理系统 要求如下: 1.对书名,作者,编号,出版单位,出版日期,类别,存放位置进行添加.删除.修改2.查询相关信息3.保存所有信息 实现代码 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> typedef struct

  • C++实现图书管理系统课程设计

    本文实例为大家分享了C++实现图书管理系统的具体代码,供大家参考,具体内容如下 大一 C++课设,没有用分文件的形式,只是把菜单页面单独分开了.用的是链表,都是一些基础的东西.另外采用了二维数组来保存读者借书信息,并将二维数组读入文件中. 功能: 1.首先是注册,登录,找回密码和修改密码功能,登录和注册使用了多态,并且登录页面采用了*符号加密.2.管理员在删除图书时,若用户此时已将此书借走,则会将此书从用户的借书书单中删去,实现了动态管理.3.容错率极高,每个页面都有返回上一页面的功能.4.每个

  • 手把手教你利用opencv实现人脸识别功能(附源码+文档)

    目录 一.环境 二.使用Haar级联进行人脸检测 三.Haar级联结合摄像头 四.使用SSD的人脸检测 五. SSD结合摄像头人脸检测 六.结语 一.环境 pip install opencv-python python3.9 pycharm2020 人狠话不多,直接上代码,注释在代码里面,不说废话. 二.使用Haar级联进行人脸检测 测试案例: 代码:(记得自己到下载地址下载对应的xml) # coding=gbk """ 作者:川川 @时间 : 2021/9/5 16:3

  • C语言学生成绩管理系统课程设计

    学生成绩管理系统是比较适合初学者的.它涵盖了c语言几乎知识.对于学了c语言的人,把这个课程设计搞好(当然自己能设计出来是要有很好的基础).不管自己能不能够完成,最重要的是能弄懂.参考其他资料,试着自己编写是不错的选择.这个课程设计也是我参照资料,自己编写的.自己适当地增加了一些功能.不过,编的不够那么专业吧. #include<stdio.h> #include<string.h> #include<stdlib.h> #define size 100 char* cl

随机推荐