热门标签 | 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表
在这里插入图片描述










推荐阅读
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • Django与Python及其他Web框架的对比
    本文详细介绍了Django与其他Python Web框架(如Flask和Tornado)的区别,并探讨了Django的基本使用方法及与其他语言(如PHP)的比较。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 本文介绍如何通过参数化查询来防止SQL注入攻击,确保数据库的安全性。示例代码展示了在C#中使用参数化查询添加学生信息的方法。 ... [详细]
  • 在处理大量联系人数据的批量插入操作时,发现现有方法的执行效率低下,尤其是在处理数十条记录以上时,与导出操作的速度形成鲜明对比。本文将探讨如何通过代码优化来提升批量插入联系人的效率。 ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
  • flea,frame,db,使用,之 ... [详细]
  • 本文介绍了如何在两个Oracle数据库(假设为数据库A和数据库B)之间设置DBLink,以便能够从数据库A中直接访问和操作数据库B中的数据。文章详细描述了创建DBLink前的必要准备步骤以及具体的创建方法。 ... [详细]
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
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社区 版权所有