毕业设计 基于SSM实现的图书管理系统


0 项目说明

基于SSM实现的图书管理系统

提示:适合用于课程设计或毕业设计,工作量达标,源码开放


1 编译环境

  • jdk 1.8
  • mysql 5.0 及以上
  • tomcat 7

2 框架

  • springmvc + spring + mybatis

3 jar包管理工具

  • Maven

4 编译器

  • IDEA

5 效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6 项目源码

package com.wdd.library.controller;

import com.wdd.library.pojo.Admin;
import com.wdd.library.pojo.LendInfo;
import com.wdd.library.pojo.Reader;
import com.wdd.library.service.AdminService;
import com.wdd.library.service.LendInfoSerivce;
import com.wdd.library.service.ReaderService;
import com.wdd.library.util.AjaxResult;
import com.wdd.library.util.Const;
import com.wdd.library.util.PageBean;
import com.wdd.library.util.StringUtil;
import org.activiti.engine.impl.util.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.Map;

@Controller
public class commonController {

    @Autowired
    private ReaderService readerService;
    @Autowired
    private AdminService adminService;
    @Autowired
    private LendInfoSerivce lendInfoSerivce;

    //跳转登录界面
    @RequestMapping("/toLogin")
    public String login(){
        return "login";
    }

    //跳转注册界面
    @RequestMapping("/toRegister")
    public String toRegister(){
        return "register";
    }

    //注册是查询是否存在该读者
    @RequestMapping("/checkReader")
    @ResponseBody
    public AjaxResult checkreader(Integer reader_id) {
        AjaxResult ajaxResult = new AjaxResult();
        int count=readerService.checkReader(reader_id);
        if(count==0){
            ajaxResult.setSuccess(true);
        }else{
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("当前学号已被注册!");
        }
        return ajaxResult;
    }


    //添加读者
    @RequestMapping("/submitAddReader")
    @ResponseBody
    public AjaxResult submitAddreader(Reader reader) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            readerService.addReader(reader);
            ajaxResult.setSuccess(true);
            ajaxResult.setMessage("注册成功");
        }catch(Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("注册失败");
        }
        return ajaxResult;
    }


    //登录
    @RequestMapping("/doLogin")
    @ResponseBody
    public AjaxResult list(String name, String password, String access, HttpSession session){
        AjaxResult ajaxResult = new AjaxResult();
        try{
            if(access.equals("0")){
                //管理员
                Admin ad = new Admin();
                ad.setName(name);
                ad.setPassword(Integer.parseInt(password));
                Admin admin = adminService.select(ad);
                if(admin != null){
                    session.setAttribute(Const.ADMIN,admin);
                    ajaxResult.setStatus("0");
                }else{
                    ajaxResult.setStatus("2");
                    ajaxResult.setMessage("用户名或密码错误");
                }
            }else{
                //读者
                Reader rd = new Reader();
                rd.setReader_id(Integer.parseInt(name));
                rd.setPassword(Integer.parseInt(password));
                Reader reader = readerService.select(rd);
                if(reader != null){
                    session.setAttribute(Const.READER,reader);
                    ajaxResult.setStatus("1");
                }else{
                    ajaxResult.setStatus("2");
                    ajaxResult.setMessage("用户名或密码错误");
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setStatus("3");
            ajaxResult.setMessage("服务器异常,请改天登录");
        }

        return ajaxResult;
    }

    //推出
    @RequestMapping("/loginout")
    public String loginout(HttpSession session){
        session.invalidate();
        return "login";
    }

    //跳转借阅管理页面
    @RequestMapping("/listDisBackAdmin")
    public  String listDisBackAdmin() {
        return "listDisBackAdmin";
    }

    //跳转读者借阅记录页面
    @RequestMapping("/listDisBack")
    public  String listDisBack() {
        return "listDisBack";
    }

    @RequestMapping("/listDisBackBook")
    @ResponseBody
    public String listDisBackBook(@RequestParam(value = "page", defaultValue = "1") Integer pageno,
                                  @RequestParam(value = "limit", defaultValue = "5") Integer pagesize,
                                  @RequestParam(value = "power",defaultValue = "0") Integer power,
                                  String rname,String bname,String state){

        Map<String,Object> paramMap = new HashMap();
        paramMap.put("pageno",pageno);
        paramMap.put("pagesize",pagesize);
        if(StringUtil.isNotEmpty(bname))  paramMap.put("bname",bname);
        if(StringUtil.isNotEmpty(rname))  paramMap.put("rname",rname);
        if(StringUtil.isNotEmpty(state))  paramMap.put("state",state);
        //为0说明是读者,1说明是管理员点击未还图书
        if (power.equals(0)){
            //读者号
            //pageBean.setAdminId(admin.getAdminId());
            //读者姓名
            //pageBean.setRname(admin.getName());
        }
        PageBean<LendInfo> pageBean = lendInfoSerivce.queryLeadInfoPage(paramMap);
        JSONObject obj = new JSONObject();
        // Layui table 组件要求返回的格式
        obj.put("code", 0);
        obj.put("msg", "");
        obj.put("count",pageBean.getTotalsize());
        obj.put("data", pageBean.getDatas());
        return obj.toString();
    }

    //管理员归还图书
    @RequestMapping(value = "/backBook")
    @ResponseBody
    public AjaxResult backBook(@RequestParam(value = "reader_id" , defaultValue = "1") Integer reader_id,
                                         @RequestParam(value = "book_id" , defaultValue = "1") Integer book_id) {

        AjaxResult ajaxResult = new AjaxResult();
        Map<String, Object> ret = new HashMap<String, Object>();
        ret.put("reader_id",reader_id);
        ret.put("book_id",book_id);
        try{
            lendInfoSerivce.backBook(ret);
            ajaxResult.setSuccess(true);
            ajaxResult.setMessage("已归还");
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("归还失败");
        }
        return ajaxResult;
    }

    //跳转到修改密码界面
    @RequestMapping("/toAlterpwdPage")
    public String toAlterpwdPage(String state, Model model) {
        model.addAttribute("state",state);
        return "alterPwd";
    }

    //确认密码
    @RequestMapping("/checkPwd")
    @ResponseBody
    public AjaxResult checkPwd(Integer password,String state,HttpSession session){
        AjaxResult ajaxResult = new AjaxResult();
        if (state.equals("0")){
            Admin admin = (Admin)session.getAttribute(Const.ADMIN);
            if(admin.getPassword().equals(password)){
                ajaxResult.setSuccess(true);
            }else{
                ajaxResult.setSuccess(false);
                ajaxResult.setMessage("原密码错误");
            }
        }else{
            Reader reader = (Reader)session.getAttribute(Const.READER);
            if(reader.getPassword().equals(password)){
                ajaxResult.setSuccess(true);
            }else{
                ajaxResult.setSuccess(false);
                ajaxResult.setMessage("原密码错误");
            }
        }

        return ajaxResult;
    }

    //修改密码
    @RequestMapping("/alterpwd")
    @ResponseBody
    public AjaxResult alterpwd(Integer password,String state,HttpSession session){
        AjaxResult ajaxResult = new AjaxResult();

        try{
            if(state.equals("0")){
                Admin admin = (Admin)session.getAttribute(Const.ADMIN);
                admin.setPassword(password);
                adminService.alterpwd(admin);
            }else{
                Reader reader = (Reader)session.getAttribute(Const.READER);
                reader.setPassword(password);
                readerService.alterpwd(reader);
            }
            ajaxResult.setSuccess(true);
            ajaxResult.setMessage("更改密码成功");
        }catch(Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("更改密码失败");

        }
        return ajaxResult;
    }

}

7 项目工程

**项目分享: ** https://gitee.com/asoonis/htw

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值