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

四 系统实现

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

相关推荐
原野心存4 分钟前
java基础进阶——继承、多态、异常捕获(2)
java·java基础知识·java代码审计
进阶的架构师9 分钟前
互联网Java工程师面试题及答案整理(2024年最新版)
java·开发语言
黄俊懿9 分钟前
【深入理解SpringCloud微服务】手写实现各种限流算法——固定时间窗、滑动时间窗、令牌桶算法、漏桶算法
java·后端·算法·spring cloud·微服务·架构
木子020417 分钟前
java高并发场景RabbitMQ的使用
java·开发语言
IvorySQL22 分钟前
济南站活动回顾|IvorySQL中的Oracle XML函数使用示例及技术实现原理
xml·数据库·sql·postgresql·oracle·开源
夜雨翦春韭29 分钟前
【代码随想录Day29】贪心算法Part03
java·数据结构·算法·leetcode·贪心算法
Data 3171 小时前
Hive数仓操作(十)
大数据·数据库·数据仓库·hive·hadoop
ON.LIN1 小时前
Hadoop大数据入门——Hive-SQL语法大全
大数据·数据库·hive·hadoop·分布式·sql
大霞上仙1 小时前
jmeter学习(1)线程组与发送请求
java·学习·jmeter
Elastic 中国社区官方博客1 小时前
Elasticsearch 开放推理 API 增加了对 Google AI Studio 的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎