图书管理系统的实现

功能概述

  1. 用户注册功能。用户输入用户名,密码和昵称来进行注册。用户名如果已注册提示用户名已存在,两次输入的密码不同提示密码不一致。注册成功跳转到登录界面,注册失败停留在注册界面。
  2. 用户登录功能。用户输入用户名,密码来进行登录。用户名和密码不匹配提示登录失败,匹配的话根据用户角色来跳转不同的界面,分为管理员界面和学生界面。
  3. 查询用户信息。查询当前登录人的用户名,姓名,角色类型。
  4. 修改用户信息。录入用户的原始密码,以及新密码和姓名,校验输入的原始密码是否与登录密码一致。修改数据库中的密码和姓名字段。
  5. 用户退出系统功能。点击退出,注销返回登录界面。
  6. 管理员新增图书功能。输入图书名称,作者,出版时间,类型来完成新增。
  7. 管理员查询所有图书。分页查询出所有的图书信息,如果图书不是在租借状态,则可进行修改和删除的操作。
  8. 管理员查询单个图书。根据图书id查询出图书的所有信息,包括图书的全部租借信息(倒序排序)。
  9. 管理员修改图书功能。点击修改跳转到修改界面,根据图书id修改图书信息,并且修改租借记录中的图书名称。
  10. 管理员删除图书功能。点击删除,提示是否删除,点击确认根据图书id删除图书记录,并且删除租借记录中该id的全部租借记录。
  11. 管理员查询所有租借记录。分页查询出所有的租借记录(根据租借状态,租借时间倒序排序)。
  12. 管理员查询所有用户信息。分页查询出所有用户信息,用户登录名,姓名,角色信息。
  13. 管理员设置其他管理员功能。点击设为管理员将普通用户设置为管理员。
  14. 普通用户查询所有图书。分页查询出所有的图书信息,如果图书在租借状态,则不允许租借操作,如果图书的租借人与当前用户一致的话显示归还按钮。
  15. 普通用户租借功能。点击租借,修改图书信息状态为已租借,新增租借记录。
  16. 普通用户归还功能。点击归还,修改图书信息状态为未租借,修改租借记录中的租借状态和归还时间。
  17. 普通用户查询我的租借记录。分页查询出当前登录人的所有租借记录(倒序排序)。

在这里插入图片描述

热门文章

暂无图片
编程学习 ·

『杭电1251』统计难题

Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师…
暂无图片
编程学习 ·

单例和枚举原理

单例和枚举原理 枚举 简单介绍枚举类能够统一管理一些全局的变量,封装对于他们的逻辑与方法。还能和switch-case结合,简化大量的if-else,让代码更加优雅。直接Demo public enum Week {//本文的枚举类变量,枚举类实例,name属性指的就是MONDAY//这类的变量MONDAY(0,"星…
暂无图片
编程学习 ·

文献管理之 Citavi & Latex

文章目录为什么选择Citavi安装地址使用指南不足之处官方文档 为什么选择Citavi 比较好的文献管理软件主要有Citavi、Endnote、Mendeley、Zotero,根据Citavi、Endnote、Mendeley 功能大比拼!到底哪一款才是众望所归的终极文献管理软件?总结,Citavi不仅是个免费的软件,而且功…
暂无图片
编程学习 ·

解决vue项目在IE中请求缓存的问题

IE中如果本次请求和上次请求一样,会优先使用缓存我碰到的问题是,我删除了某列的数据,需要重新刷新列表,但是删除成功以后重新请求IE优先使用了缓存解决方法就是在每个url上添加一个随机数,使得每次请求不一样,就不存在缓存问题了PS:垃圾IE
暂无图片
编程学习 ·

前端面试题及答案.全全全!!!---js

HTML——CSS——JS——es6——Vue——微信小程序-----------服务器----------nodeJS面试题1.基本数据类型有哪几种?undefined,null,boolean,string,number,Symbol(es6)2.引用数据类型有哪些?Object,Array3.JavaScript的typeof返回的数据类型?string number array object fun…
暂无图片
编程学习 ·

设计模式-建造者模式

设计模式-建造者模式 1.问题提出 盖房项目需求需要建房子:这一过程为打桩、砌墙、封顶 房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的. 请编写程序,完成需求.2.传统方式解决 package builder.traditional;public abstract class Ab…
暂无图片
编程学习 ·

C#读取csv数据隔行读取异常问题

##CSV隔行读取 读取代码 StreamReader sd = new StreamReader(SavePath, Encoding.Default); sting stringLine=""; while (sd.ReadLine()!=NULL)//此处已读取一行,但未赋值{stringLine = sd.ReadLine(); }应修改为 while (sd.Peek()>0)//此处已读取一行,但未赋…
暂无图片
编程学习 ·

mysql(一)认知了解

文章目录mysql(一)数据库(database)什么是mysql系统特性应用场景 mysql(一) 官网 中文的 数据库(database)数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。 数据库是以一定方式储…
暂无图片
编程学习 ·

TomCat学习笔记(1)--裸Tomcat框架实现和IDEA实现的比较

TomCat是什么不多说了,这里是用来记录我学习TomCat的操作与心路历程 本文对比演示用纯Tomcat和用IDEA集成开发同样的页面效果的两种方法。 在不用IDEA集成开发环境时稍微学习了一些tomcat,能写出一个界面并且用get、post函数试着传递数据。(在下文介绍一下流程并给予简单分析…
暂无图片
编程学习 ·

Java NIO(Netty,Redis,Zookeeper高并发实战整理)

Java NIO NIO与OIO的对比 1.OIO事面向流的,NIO是面向缓冲区的。OIO是面向字节流或字符流的,在一般的OIO操作中,一流式的方法顺序地从一个流中读取一个或多个字节,因此,不能随意地改变读取指针的位置。NIO中引入了Channel(通道)和Buffer(缓冲区)的概念。读取和写入,只需…
暂无图片
编程学习 ·

操作URL的黑科技

处理URL的query的接口:URLSearchParams// 处理URL的query的接口:URLSearchParams // 简单使用 let url = ?wd=胡歌&love=fx&year=2020; let searchParams = new URLSearchParams(url); for (let p of searchParams) {console.log(p); } // ["wd", "胡…
暂无图片
编程学习 ·

appium获取toast

环境准备:appium server 1.7版本 下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.5.0下载appium-desktop-Setup-1.5.0-ia32.exe 并启动服务安装appium-uiautomator2-driver使用npm命令安装,npm如何安装自己百度。 npm install appium-uiautomator2-dri…
暂无图片
编程学习 ·

微信公众号自定义菜单栏绑定关联小程序

日期:2020/7/2 10:02 原文链接: http://note.youdao.com/noteshare?id=a5b5529c7bb1f385fa5453d2a338dbd1&sub=B015901C99BF4BEF93CA3F3E1F8AA7B4 注意事项: 微信公众号必须已经有了绑定关联的小程序,如微信公众号还没有关联小程序,请去微信公众平台进行绑定 情况一:…
暂无图片
编程学习 ·

2020抖音小店入驻流程

原文链接:https://blog.ccswust.org/15574.html一、访问入驻后台使用电脑浏览器打开网址https://sso.douyin.com/login/?service=https://fxg.jinritemai.com/index.html#/home,选择【抖音号登陆】,【重要,一定要登录自己的抖音号,才能把店铺和抖音号绑定在一起】※建议请…
暂无图片
编程学习 ·

资本加速圈地,智慧停车战火越烧越旺

配图来自Canva 半年前,AIPARK爱泊车宣布完成B1和B2轮融资,投资方包括中美绿色一期基金、蔚来资本、中金资本、中关村启航基金等。 6月3日,城市级智慧云停车平台享停车宣布已完成数千万元融资,并获得了上亿元配套建设资金,投资方为深圳某机构。 6月28日,AIPARK爱泊车宣布完…
暂无图片
编程学习 ·

Vue学习笔记——选项卡案例(tab栏切换)

Vue学习笔记——选项卡案例(tab栏切换) 内容截图:常犯问题:看到这个内容的时候,总是思考怎么将3个div叠起来。 其实不需要,隐藏了div不占位置的。每次只显示一个div且显示时占的位置是一样的 如果你都没有给它们添加显示的类,那么你只能看到选项,看不到图的盒子框架:u…
暂无图片
编程学习 ·

Java中的JDBC编程

Java中的JDBC编程JDBC的工作原理JDBC的使用JDBC常用接口和类数据库连接ConnectionStatement对象ResultSet对象 JDBC的工作原理JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。这个API有java.sql.* ,javax…
暂无图片
编程学习 ·

MINI ACTOR小小行动者 | 以探究式学习带孩子进入科学世界

MINI ACTOR小小行动者 | 以探究式学习带孩子进入科学世界FUNGO GREATE学院EX MINI系列包含ACTOR小小行动者和PM小小项目经理课程,是培养学生创新性思维的基础课程。 MININ ACTOR小小行动者,以探究式学习带孩子进入科学世界,探索四大领域的科学奥秘。 课程覆盖生命科学、物质…
暂无图片
编程学习 ·

springMVC拦截器

1.编写拦截器类,继承HandlerInterceptorAdapter类,重写preHandle(),afterCompletion()方法,并加入到Spring容器中 @Component public class LoginInterceptor extends HandlerInterceptorAdapter {private static final ThreadLocal<UserInfo> THREAD_LOCAL = new Th…