一、源码特点
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
四 系统实现