热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:图书管理系统(JSP+JDBC+Servlet)实现01:流程分析和数据库建表阶段

篇首语:本文由编程笔记#小编为大家整理,主要介绍了图书管理系统(JSP+JDBC+Servlet)实现-01:流程分析和数据库建表阶段相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了图书管理系统( JSP + JDBC + Servlet )实现-01: 流程分析和数据库建表阶段相关的知识,希望对你有一定的参考价值。






01: 流程分析和数据库建表阶段
02: 编写和配置过滤器(防止页面乱码)
03:项目搭建 & 工具类的实现 &依赖导入
04: 建立数据库的实体类(pojo)
05: 实现登录功能
06: 查询所有书籍功能
07:模糊查询功能
08:页面所有功能实现(附源码下载)


1. 数据库作业--图书管理系统( JSP + JDBC )实现

写一个简单的图书管理系统(CRUD功能),不用框架,下面我就从0开始开始开发吧。




1.1 大概流程

主要就是登录功能和对图书的CRUD。
在这里插入图片描述




1.2 数据库的设计

图书管理系统的E-R图
在这里插入图片描述




1.3 SQL建表

一起来愉快的搭建数据库吧 建议不要一开始就使用UI工具进行增删改查,否则对sql语句的掌握程度可能不够。

# 1.1 数据库建立阶段
# 创建数据库 CQUTLMS
CREATE DATABASE IF NOT EXISTS `CQUTLMS`;
# 使用数据库 CQUTLMS
USE `CQUTLMS`;
# 1.2 数据库表搭建阶段
# 1.2.1 students表建立阶段: 这个表是学生的信息表, 以后登录就是通过这个表
# 来进行数据的验证
CREATE TABLE IF NOT EXISTS `students`(
`stuId` VARCHAR(20) NOT NULL COMMENT "学号",
`college` VARCHAR(20) NOT NULL COMMENT "学院",
`profession` VARCHAR(20) NOT NULL COMMENT "专业",
`stuName` VARCHAR(5) NOT NULL COMMENT "学生姓名",
`startYear` VARCHAR(20) NOT NULL COMMENT "入学年份",
`gender` VARCHAR(2) NOT NULL COMMENT "性别",
`password` VARCHAR(20) NOT NULL COMMENT "登录密码",
PRIMARY KEY(`stuId`)
)ENGINE =INNODB DEFAULT CHARSET=utf8;


# 1.2.2 students表插入初始数据阶段
INSERT INTO `students`(`stuId`,`college`,`profession`,`stuName`,`startYear`,`gender`,`password`) VALUES
('11923020124','两江人工智能学院','软件工程','周天骄','2019','男','123456'),
('11923020123','两江人工智能学院','软件工程','张朝春','2019','男','123456'),
('11823021213','应用技术学院','软件工程','李旭','2018','男','123456'),
('11823031214','应用技术学院','大数据','苟亮','2018','男','123456'),
('11723021213','会计学院','电子商务','张有余','2018','男','123456'),
('11723031214','会计学院','财务管理','雷磊','2018','男','123456');
# 1.2.3 books表建立阶段: 这个表是图书馆的书籍
CREATE TABLE IF NOT EXISTS `books`(
`bookId` VARCHAR(20) NOT NULL COMMENT "图书编号",
`bookName` VARCHAR(20) NOT NULL COMMENT "图书名",
`author` VARCHAR(20) NOT NULL COMMENT "作者",
`inventory` INT(5) NOT NULL COMMENT "库存",
PRIMARY KEY(`bookId`)
)ENGINE =INNODB DEFAULT CHARSET=utf8;
# 1.2.4 books表插入初始数据阶段
INSERT INTO `books`(`bookId`,`bookName`,`author`,`inventory`) VALUES
('1','Java原理及应用','李唯唯',200),
('2','高级Java','王森',300),
('3','离散数学','张立昂',150),
('4','马原','王伟光',400),
('5','数字图像处理','王利娟',350);


# 1.2.5 建立mybooks表: 这个表存放的是学生借阅的图书的信息
# 这里没有设置主键的原因:为了防止数据重复而报错,因为主键是独一无二的
# 但是这个表以后肯定会存储大量相同的数据,因为每个学生的借阅信息都是存储在
# 这个表格里面的。
CREATE TABLE IF NOT EXISTS `mybooks`(
`bookId` VARCHAR(20) NOT NULL COMMENT "图书编号",
`bookName` VARCHAR(20) NOT NULL COMMENT "图书名",
`author` VARCHAR(20) NOT NULL COMMENT "作者",
`stuId` VARCHAR(20) NOT NULL COMMENT "学生Id"
)ENGINE =INNODB DEFAULT CHARSET=utf8;

运行结果:

books表
在这里插入图片描述
students表
在这里插入图片描述

mybooks表
在这里插入图片描述










推荐阅读
  • 深入解析Spring Boot自动配置机制
    本文旨在深入探讨Spring Boot的自动配置机制,特别是如何利用配置文件进行有效的设置。通过实例分析,如Http编码自动配置,我们将揭示配置项的具体作用及其背后的实现逻辑。 ... [详细]
  • 如何处理MySQL命令行中文乱码问题
    本文详细探讨了MySQL命令行中出现中文乱码的原因及解决方案,通过调整配置文件和执行特定SQL命令来确保字符集正确设置,为用户提供了一个有效的解决路径。 ... [详细]
  • Python 内存管理机制详解
    本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • 本文详细探讨了JavaScript中的作用域链和闭包机制,解释了它们的工作原理及其在实际编程中的应用。通过具体的代码示例,帮助读者更好地理解和掌握这些概念。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • 本文介绍如何使用MFC和ADO技术调用SQL Server中的存储过程,以查询指定小区在特定时间段内的通话统计数据。通过用户界面选择小区ID、开始时间和结束时间,系统将计算并展示小时级的通话量、拥塞率及半速率通话比例。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • Android中解析XML文件的实践指南
    本文详细介绍了在Android应用开发中解析XML文件的方法,包括从本地文件和网络资源获取XML文件的不同途径,以及使用DOM、SAX和PULL三种解析方式的具体实现。 ... [详细]
  • HTML网页出现乱码的主要成因及解决策略
    本文深入分析了HTML网页出现乱码的各种可能原因,并提供了相应的解决方案,帮助开发者有效避免和处理此类问题。 ... [详细]
  • 解决VSCode中文乱码问题的综合方案
    在使用VSCode进行开发时,尤其是涉及Python编程,可能会遇到中文乱码的问题。本文总结了多种有效的解决方案,帮助开发者快速解决这一常见问题。 ... [详细]
author-avatar
加乘ACCA财务英语教室_438
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有