SSM图书管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点
  SSM 图书管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和
数据库,系统主要采用B/S模式开发。

ssm图书管理系统


前段主要技术 bootstrap.css jquery
后端主要技术 SSM
数据库 mysql
开发工具 eclipse  JDK1.8 TOMCAT 8.5

二、功能介绍
本系统模块实现功能如下:
前台功能:

首页浏览
图书浏览
公告浏览
图书借阅、查看借阅信息
用户信息注册、登录、个人信息修改
后台功能:
(1)用户管理:对用户信息进行添加、删除、修改和查看
(2)管理员管理:对管理员信息进行添加、删除、修改和查看
(3)图书分类管理:对图书分类信息进行添加、删除、修改和查看
(4)图书管理:对图书信息进行添加、删除、修改和查看
(5)借阅管理:对借阅信息进行删除、修改和查看
(6)消息管理:对消息信息进行删除、修改和查看
(7)公告管理:对公告信息进行添加、删除、修改和查看
(8)个人信息修改、登录

数据库设计

	CREATE TABLE `yonghu` (`yhid` int(11) NOT NULL auto_increment,`yhm` VARCHAR(40) default NULL COMMENT '用户名',`mm` VARCHAR(40) default NULL COMMENT '密码',`xm` VARCHAR(40) default NULL COMMENT '姓名',`lxdh` VARCHAR(40) default NULL COMMENT '联系电话',`lxdz` VARCHAR(40) default NULL COMMENT '联系地址',`zt` VARCHAR(40) default NULL COMMENT '状态',  PRIMARY KEY  (`yhid`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312;CREATE TABLE `gly` (`glyid` int(11) NOT NULL auto_increment,`yhm` VARCHAR(40) default NULL COMMENT '用户名',`mm` VARCHAR(40) default NULL COMMENT '密码',`xm` VARCHAR(40) default NULL COMMENT '姓名',  PRIMARY KEY  (`glyid`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312;CREATE TABLE `tsfl` (`tsflid` int(11) NOT NULL auto_increment,`fl` VARCHAR(40) default NULL COMMENT '分类',`zt` VARCHAR(40) default NULL COMMENT '状态',  PRIMARY KEY  (`tsflid`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312;CREATE TABLE `tushu` (`tsid` int(11) NOT NULL auto_increment,`tsmc` VARCHAR(40) default NULL COMMENT '图书名称',`fl` VARCHAR(40) default NULL COMMENT '分类',`js` VARCHAR(40) default NULL COMMENT '介绍',`zt` VARCHAR(40) default NULL COMMENT '状态',`tp` VARCHAR(40) default NULL COMMENT '图片',`sm` VARCHAR(40) default NULL COMMENT '说明',`jyts` VARCHAR(40) default NULL COMMENT '借阅天数',  PRIMARY KEY  (`tsid`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312;CREATE TABLE `jieyue` (`jyid` int(11) NOT NULL auto_increment,`ls` VARCHAR(40) default NULL COMMENT '流水',`ts` VARCHAR(40) default NULL COMMENT '图书',`yh` VARCHAR(40) default NULL COMMENT '用户',`jysj` VARCHAR(40) default NULL COMMENT '借阅时间',`ghsj` VARCHAR(40) default NULL COMMENT '归还时间',`zt` VARCHAR(40) default NULL COMMENT '状态',  PRIMARY KEY  (`jyid`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312;CREATE TABLE `xiaoxi` (`xxid` int(11) NOT NULL auto_increment,`bt` VARCHAR(40) default NULL COMMENT '标题',`nr` VARCHAR(40) default NULL COMMENT '内容',`fbsj` VARCHAR(40) default NULL COMMENT '发布时间',`jsyh` VARCHAR(40) default NULL COMMENT '接收用户',  PRIMARY KEY  (`xxid`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312;CREATE TABLE `gonggao` (`ggid` int(11) NOT NULL auto_increment,`bt` VARCHAR(40) default NULL COMMENT '标题',`nr` VARCHAR(40) default NULL COMMENT '内容',`fbsj` VARCHAR(40) default NULL COMMENT '发布时间',  PRIMARY KEY  (`ggid`)) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

控制类

 */@Resource gonggaoDao gonggaodao;@RequestMapping(value="/addPage")public String addPage(gonggao gonggao,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();System.out.println("addPageok");return "gonggao/gonggaoadd";}@RequestMapping(value="/add")public String add(gonggao gonggao,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();//String name=(String)request.getParameter("name");map.put("ggid", gonggao.getGgid());//公告编号map.put("bt", gonggao.getBt());//标题map.put("nr", gonggao.getNr());//内容map.put("fbsj", gonggao.getFbsj());//发布时间String ggid=(String)gonggao.getGgid();//公告编号String bt=(String)gonggao.getBt();//标题String nr=(String)gonggao.getNr();//内容String fbsj=(String)gonggao.getFbsj();//发布时间gonggaodao.save(map);request.setAttribute("msg", "<script>alert('添加成功');</script>");System.out.println("addok");return "gonggao/gonggaoadd";}/**删除 * */@RequestMapping(value="/del")public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){//	Map<String,Object> map= new HashMap<String,Object>();String a=(String)request.getParameter("keyid");id=Integer.parseInt(a);request.setAttribute("msg", "<script>alert('删除成功');</script>");gonggaodao.del(id);return selectall(null,map,request);}/*** 修改gonggao信息*/@RequestMapping(value="/update")public String update(gonggao gonggao,HttpServletRequest request,Map<String,Object> map1){Map<String,Object> map= new HashMap<String,Object>();map.put("ggid", gonggao.getGgid());//公告编号map.put("bt", gonggao.getBt());//标题map.put("nr", gonggao.getNr());//内容map.put("fbsj", gonggao.getFbsj());//发布时间String ggid=(String)gonggao.getGgid();//公告编号String bt=(String)gonggao.getBt();//标题String nr=(String)gonggao.getNr();//内容String fbsj=(String)gonggao.getFbsj();//发布时间request.setAttribute("msg", "<script>alert('修改成功');</script>");gonggaodao.update(map);return selectall(null,map1,request);}/*** 查询gonggao信息*/@RequestMapping(value="/modify")public String modify(Integer id,Map<String,Object> map,HttpServletRequest request){String keyid=(String)request.getParameter("keyid");List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();list=gonggaodao.select(Integer.parseInt(keyid));request.setAttribute("ggid", list.get(0).get("ggid"));//公告编号request.setAttribute("bt", list.get(0).get("bt"));//标题request.setAttribute("nr", list.get(0).get("nr"));//内容request.setAttribute("fbsj", list.get(0).get("fbsj"));//发布时间return "gonggao/gonggaomodify";}@RequestMapping(value="/detail")public String detail(Integer id,Map<String,Object> map,HttpServletRequest request){String keyid=(String)request.getParameter("keyid");List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();list=gonggaodao.select(Integer.parseInt(keyid));request.setAttribute("ggid", list.get(0).get("ggid"));//公告编号request.setAttribute("bt", list.get(0).get("bt"));//标题request.setAttribute("nr", list.get(0).get("nr"));//内容request.setAttribute("fbsj", list.get(0).get("fbsj"));//发布时间return "gonggao/gonggaodetail";}/*** 查询gonggao信息*/@RequestMapping(value="/selectall")public String selectall(Integer id,Map<String,Object> map,HttpServletRequest request){List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();Map<String,Object> map1= new HashMap<String,Object>();String ggid=(String)request.getParameter("ggid");//公告编号if(ggid!=null&&!ggid.equals("")){map1.put("ggid",ggid);//公告编号}String bt=(String)request.getParameter("bt");//标题if(bt!=null&&!bt.equals("")){map1.put("bt",bt);//标题}String nr=(String)request.getParameter("nr");//内容

mybatis

<!-- 添加用户信息 -->
<insert id="insertgonggao"  parameterType="java.util.Map">insert  into  gonggao(bt,nr,fbsj)  values(#{bt},#{nr},#{fbsj})
</insert><delete id="delgonggao" parameterType="int">delete  from  gonggao where ggid=#{ggid}
</delete><update id="updategonggao" parameterType="java.util.Map">
update gonggao set bt=#{bt},nr=#{nr},fbsj=#{fbsj} where ggid=#{ggid}
</update><!--  查询返回的是 list<map> -->
<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectgonggao"  parameterType="int" resultType="java.util.Map">select  * from gonggao where ggid=#{ggid}
</select><!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectall"  parameterType="java.util.Map" resultType="java.util.Map">select  * from gonggao where 1=1<if test=" null != bt and bt!=''" >and bt like concat(concat('%',#{bt}),'%')</if><if test=" null != nr and nr!=''" >and nr like concat(concat('%',#{nr}),'%')</if><if test=" null != fbsj and fbsj!=''" >and fbsj like concat(concat('%',#{fbsj}),'%')</if></select>

三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为eclipse开发,数据库为mysql,使用java语言开发。
3、数据库文件名是jspssmbook.sql 系统名称ssmbook
4、地址:http://127.0.0.1:8080/ssmbook/qt/index.jsp

四 系统实现

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/168260.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023美团外卖商家销量

数据内容字段如下 外卖ID 外卖STR 外卖商家名称 地址 城市 省份 电话 纬度 经度 月销 起送价 评分 经营许可证 食品许可证 资源下载&#xff1a;https://download.csdn.net/download/WANJIAWEN1002/88444367?spm1001.2014.3001.5503

排序算法之-冒泡

顺序排序算法原理 从头开始遍历未排序数列&#xff0c;遍历时比较相邻的两个元素&#xff0c;前面的大于后面的&#xff0c;则双方交换位置&#xff0c;一直比较到末尾&#xff0c;这样最大的元素会出现在末尾&#xff0c;接着再依次从头开始遍历剩余未排序的元素&#xff0c;…

Python自动化测试selenium指定截图文件名方法

这篇文章主要介绍了Python自动化测试selenium指定截图文件名方法&#xff0c;Selenium 支持 Web 浏览器的自动化&#xff0c;它提供一套测试函数&#xff0c;用于支持 Web 自动化测试&#xff0c;下文基于python实现指定截图文件名方法&#xff0c;需要的小伙伴可以参考一下 前…

drawio连接线使用技巧和功能大全

drawio连接线使用技巧和功能大全 drawio是一款强大的图表绘制软件&#xff0c;支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用&#xff0c;则直接输入网址draw.io或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能&#xff0c;并实现了…

使用Redis实现文章阅读量、收藏、点赞数量记录功能

目录 一、前言二、业务分析三、Redis数据结构选择分析和实现3.1、三个数据缓存都分别使用 字符串 结构计数器存储对应数量值3.2、三个数据缓存使用一个 Hash 结构存储3.3、阅读量使用字符串结构计算器&#xff0c;收藏和点赞分别使用 Set 集合存储 四、总结 一、前言 在博客中会…

排序算法的空间复杂度和时间复杂度

一、排序算法的时间复杂度和空间复杂度 排序算法 平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定性 冒泡排序 O(n) O(n) O(n) O(1) 稳定 直接选择排序 O(n) O(n) O(n) O(1) 不稳定 直接插入排序 O(n) O(n) O(n) O(1) 稳定 快速排序 O(n…

《研发效能(DevOps)工程师》课程简介(五)丨IDCF

由国家工业和信息化部教育与考试中心颁发的职业技术证书&#xff0c;也是国内首个研发效能&#xff08;DevOps&#xff09;职业技术认证&#xff0c;内涵1000页学习教材2000分钟的课程内容讲解460多个技术知识点300多道练习题。 在这里&#xff0c;你不仅可以了解到华为、微软、…

在新的服务器上成功安装mysqlclient的方法【解决No matching distribution found for mysqlclient的问题】

前言&#xff1a;在某台Centos服务器上安装mysqlclient时一直报下面的错&#xff1a; WARNING: Discarding https://mirrors.aliyun.com/pypi/packages/6a/91/bdfe808fb5dc99a5f65833b370818161b77ef6d1e19b488e4c146ab615aa/mysqlclient-1.3.0.tar.gz#sha25606eb5664e3738b28…

【C语言 | 基础】计算机的位(bit)、字节(Byte)、字(word)、双字(DWord)、四字(QWord)分别代表什么

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

Markdown使用教程

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

centos k8s安装dapr

文章目录 安装helm更新helm库初始化dapr高可用方式安装 卸载dapr验证k8s的dapr安装rocketmq总结 安装helm 三个包放到一个目录下 chmod x get ./get helm version更新helm库 helm repo add dapr https://dapr.github.io/helm-charts/ helm repo update helm search repo dapr …

拍摄视频的时候相机断电导致视频文件损坏,怎么修复

3-4 现在好多人都有自己的相机&#xff0c;但是专业用来录像的机器应该是不太可能都有的&#xff0c;相机的稳定性会比专业的机器差一些&#xff0c;如果用于比较重要的场景&#xff0c;比如婚庆、会议录像、家庭录像使用等&#xff0c;有较少的概率会出现一些奇怪的情况&…