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

 更新时间:2021年06月30日 15:22:21   作者:初尘屿风  
本系统采用Java,MySQL 作为系统数据库,重点开发并实现了系统各个核心功能模块,包括采编模块、典藏模块、基础信息模块、流通模块、期刊模块、查询模块、评论模块、系统统计模块以及帮助功能模块

设计准备

编程工具: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();
			}
		}

……

总结

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

相关文章

  • SpringBoot配置HTTPS及开发调试的操作方法

    SpringBoot配置HTTPS及开发调试的操作方法

    在实际开发过程中,如果后端需要启用https访问,通常项目启动后配置nginx代理再配置https,前端调用时高版本的chrome还会因为证书未信任导致调用失败,通过摸索整理一套开发调试下的https方案,下面给大家分享SpringBoot配置HTTPS及开发调试,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • Spring Boot 利用注解方式整合 MyBatis

    Spring Boot 利用注解方式整合 MyBatis

    这篇文章主要介绍了Spring Boot 利用注解方式整合 MyBatis,文章围绕主主题的相关资料展开详细的内容介绍,需要的小伙伴可以参考一下
    2022-05-05
  • Java定时器Timer简述

    Java定时器Timer简述

    本文主要介绍了Java定时器Timer的相关知识,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • Java实用工具之使用oshi获取主机信息的方法

    Java实用工具之使用oshi获取主机信息的方法

    这篇文章主要介绍了Java实用工具之使用oshi获取主机信息的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Mybatis Integer类型参数值为0时得到为空的解决方法

    Mybatis Integer类型参数值为0时得到为空的解决方法

    这篇文章主要介绍了Mybatis Integer类型参数值为0时得到为空的解决方法,有需要的朋友们可以学习下。
    2019-08-08
  • Java反射及性能详细

    Java反射及性能详细

    这篇文章主要介绍了Java反射及性能,现如今的java工程中,反射的使用无处无在。无论是设计模式中的代理模式,还是红透半边天的Spring框架中的IOC,AOP等等,都存在大量反射的影子。下面我们就对该话题进行详细介绍,感兴趣的小伙伴可以参考一下
    2021-10-10
  • java实现Rabbitmq延迟队列和惰性队列

    java实现Rabbitmq延迟队列和惰性队列

    本文主要介绍了java实现Rabbitmq延迟队列和惰性队列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • Springboot使用SPI注册bean到spring容器的示例代码

    Springboot使用SPI注册bean到spring容器的示例代码

    这篇文章主要介绍了Springboot使用SPI注册bean到spring容器,主要包括mydriver接口,mysqldriver实现过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • 谈谈在Java发送邮件中遇到的的问题

    谈谈在Java发送邮件中遇到的的问题

    本文介绍了在利用Java发送邮件过程中遇到的的两个问题,以及如何解决这两个问题。如果大家也遇到了这些问题,可以来参考借鉴。
    2016-08-08
  • zookeeper集群搭建超详细过程

    zookeeper集群搭建超详细过程

    这篇文章主要介绍了zookeeper集群搭建超详细过程,本文对zookeeper集群测试通过图文并茂的形式给大家介绍的非常详细,需要的朋友可以参考下
    2022-06-06

最新评论