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

四 系统实现

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

相关推荐
测开小菜鸟1 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
Ai 编码助手2 小时前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
P.H. Infinity2 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天2 小时前
java的threadlocal为何内存泄漏
java
陈燚_重生之又为程序员3 小时前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle3 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻3 小时前
MySQL排序查询
数据库·mysql
萧鼎3 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^3 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋33 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx