基于javaweb+mysql的ssm+maven图书馆图书管理系统(java+ssm+jsp+js+mysql)

基于javaweb+mysql的ssm+maven图书馆图书管理系统(java+ssm+jsp+js+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SSM+Maven图书馆图书管理系统(java+ssm+jsp+js+mysql)

项目介绍

读者角色包含以下功能: 读者登录,图书查询,借阅图书,借阅管理,修改密码,借阅记录等功能。

管理员角色包含以下功能: 管理员登录,图书管理,图书类别管理,读者列表等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:HTML+CSS+JavaScript+jsp

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录
        obj.put("data", categorylist);
        return obj.toString();
    }

    //修改图书类别
    @RequestMapping("/editBookType")
    @ResponseBody
    public AjaxResult editBookType(Category category) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            typeService.updateBookType(category);
            ajaxResult.setSuccess(true);
            ajaxResult.setMessage("修改成功");
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("修改失败");
        }
        return ajaxResult;
    }

    //删除图书类别
    @RequestMapping("/delBookType")
    @ResponseBody
    public AjaxResult delBookType(Integer cid) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            typeService.delBookType(cid);
            ajaxResult.setSuccess(true);
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("删除失败");
        }
        return ajaxResult;
    }

    //添加加图书类别
    @RequestMapping("/addBookType")
            bookService.delBook(Integer.parseInt(book_id));
            ajaxResult.setSuccess(true);
            ajaxResult.setMessage("添加成功");
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("添加失败");
        }
        return ajaxResult;
    }

    //跳转读者借阅界面readerIndex.jsp
    @RequestMapping("/frontIndex")
    public String frontIndex() {
        return "frontIndex";
    }

    @SuppressWarnings("unlikely-arg-type")
	@RequestMapping("/lendBook")
    @ResponseBody
    public AjaxResult borrowBook(Integer book_id,HttpSession session) {
        AjaxResult ajaxResult = new AjaxResult();

        Reader reader = (Reader)session.getAttribute(Const.READER);
        //判断库存是否足够
        Book book = bookService.selectById(book_id);
        if (book.getStock()==0){
            ajaxResult.setStatus("2");
            return ajaxResult;
        }

        //判断该读者是否已经借过该图书
        LendInfo lendInfo = new LendInfo();
        lendInfo.setBook_id(book_id);
        lendInfo.setReader_id(reader.getReader_id());
        if (lendInfoSerivce.isLended(lendInfo)){
            ajaxResult.setStatus("0");
            return ajaxResult;
        }
        //判断是否达到借书上限
        Integer cardState = lendInfoSerivce.cardState(reader.getReader_id());
        if (cardState.equals(reader.getCard_state())){
    }

    //跳转读者借阅记录页面
    @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) {
            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;
    }

}

        if(StringUtil.isNotEmpty(bname))  paramMap.put("bname",bname);
        if(StringUtil.isNotEmpty(author))  paramMap.put("author",author);
        if(StringUtil.isNotEmpty(cid))  paramMap.put("cid",Integer.parseInt(cid));
        PageBean<Book> pageBean = bookService.queryBookPage(paramMap);

        //获取类别
        List<Category> categoryList = bookService.listCategory();
        session.setAttribute(Const.CATEGORY,categoryList);

        // 转化为json
        //List<Book> list = bookService.listAllBook(pageBean);
        //PageBean pb=bookService.getPb();
        // 讲json发送给浏览器
        // list转成json
        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("/addBook")
    public String addbook() {
        return "book/addBook";
    }

    //添加图书
    @RequestMapping("/submitAddBook")
    @ResponseBody
    public AjaxResult submitAddBook(Book book) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            bookService.addBook(book);
            ajaxResult.setSuccess(true);
            ajaxResult.setMessage("添加成功");
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("添加失败");
        }
        return ajaxResult;
    }

    //跳转修改页面
    @RequestMapping("/editBook")
    public String editBook(String book_id,Model model) {
        Book book = bookService.selectById(Integer.parseInt(book_id));
        //判断该读者是否已经借过该图书
        LendInfo lendInfo = new LendInfo();
        lendInfo.setBook_id(book_id);
        lendInfo.setReader_id(reader.getReader_id());
        if (lendInfoSerivce.isLended(lendInfo)){
            ajaxResult.setStatus("0");
            return ajaxResult;
        }
        //判断是否达到借书上限
        Integer cardState = lendInfoSerivce.cardState(reader.getReader_id());
        if (cardState.equals(reader.getCard_state())){
            ajaxResult.setStatus("3");
            return ajaxResult;

        }
        lendInfoSerivce.lendBook(lendInfo);
        ajaxResult.setStatus("1");
        return ajaxResult;
    }

}

@Controller
@RequestMapping("/reader")
public class ReaderController {

    @Autowired
    private ReaderService readerService;

    //跳转读者列表界面
    @RequestMapping("/readerIndex")
    public String readerIndex(){
    }

    //修改图书类别
    @RequestMapping("/editBookType")
    @ResponseBody
    public AjaxResult editBookType(Category category) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            typeService.updateBookType(category);
            ajaxResult.setSuccess(true);
            ajaxResult.setMessage("修改成功");
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("修改失败");
        }
        return ajaxResult;
    }

    //删除图书类别
    @RequestMapping("/delBookType")
    @ResponseBody
    public AjaxResult delBookType(Integer cid) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            typeService.delBookType(cid);
            ajaxResult.setSuccess(true);
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("删除失败");
        }
        return ajaxResult;
    }

    //添加加图书类别
    @RequestMapping("/addBookType")
    @ResponseBody
    public AjaxResult addBookType(String cname) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            typeService.addBookType(cname);
            ajaxResult.setSuccess(true);
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("添加失败");
                reader.setPassword(password);
                readerService.alterpwd(reader);
            }
            ajaxResult.setSuccess(true);
            ajaxResult.setMessage("更改密码成功");
        }catch(Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("更改密码失败");

        }
        return ajaxResult;
    }

}

@Controller
@RequestMapping("/library")
        try{
            if(access.equals("0")){
                //管理员
                Admin ad = new Admin();
                ad.setName(name);
                ad.setPassword(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(name);
                rd.setPassword(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() {
        //判断该读者是否已经借过该图书
        LendInfo lendInfo = new LendInfo();
        lendInfo.setBook_id(book_id);
        lendInfo.setReader_id(reader.getReader_id());
        if (lendInfoSerivce.isLended(lendInfo)){
            ajaxResult.setStatus("0");
            return ajaxResult;
        }
        //判断是否达到借书上限
        Integer cardState = lendInfoSerivce.cardState(reader.getReader_id());
        if (cardState.equals(reader.getCard_state())){
            ajaxResult.setStatus("3");
            return ajaxResult;

        }
        lendInfoSerivce.lendBook(lendInfo);
        ajaxResult.setStatus("1");
        return ajaxResult;
    }

}

@Controller
@RequestMapping("/reader")
public class ReaderController {

    @Autowired
    private ReaderService readerService;

    //跳转读者列表界面
    @RequestMapping("/readerIndex")
    public String readerIndex(){

@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
            }else{
                //读者
                Reader rd = new Reader();
                rd.setReader_id(name);
                rd.setPassword(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";
    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();
        lendInfo.setBook_id(book_id);
        lendInfo.setReader_id(reader.getReader_id());
        if (lendInfoSerivce.isLended(lendInfo)){
            ajaxResult.setStatus("0");
            return ajaxResult;
        }
        //判断是否达到借书上限
        Integer cardState = lendInfoSerivce.cardState(reader.getReader_id());
        if (cardState.equals(reader.getCard_state())){
            ajaxResult.setStatus("3");
            return ajaxResult;

        }
        lendInfoSerivce.lendBook(lendInfo);
        ajaxResult.setStatus("1");
        return ajaxResult;
    }

}

@Controller
@RequestMapping("/reader")
public class ReaderController {

    @Autowired
    private ReaderService readerService;


@Controller
@RequestMapping("/library")
public class libraryController {

    @Autowired
    private BookService bookService;
    @Autowired
    private LendInfoSerivce lendInfoSerivce;

    @RequestMapping("/index")
    public String index(HttpSession session){
        //获取类别
        List<Category> categoryList = bookService.listCategory();
        session.setAttribute(Const.CATEGORY,categoryList);
        return "index";
    }

    //显示全部图书
    @RequestMapping(value = "/listBook")
    @ResponseBody
    public String listBook(@RequestParam(value = "page", defaultValue = "1") Integer pageno,
                           @RequestParam(value = "limit", defaultValue = "5") Integer pagesize,
                           String bname,String author,String cid,HttpSession session
                           ) {

        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(author))  paramMap.put("author",author);
        if(StringUtil.isNotEmpty(cid))  paramMap.put("cid",Integer.parseInt(cid));
        PageBean<Book> pageBean = bookService.queryBookPage(paramMap);

        //获取类别
        List<Category> categoryList = bookService.listCategory();
        session.setAttribute(Const.CATEGORY,categoryList);

        // 转化为json
        //List<Book> list = bookService.listAllBook(pageBean);
        //PageBean pb=bookService.getPb();
        // 讲json发送给浏览器
        // list转成json
        JSONObject obj = new JSONObject();
        // Layui table 组件要求返回的格式
        obj.put("code", 0);
        obj.put("msg", "");
        obj.put("count",pageBean.getTotalsize());
        obj.put("data", pageBean.getDatas());

    }

    //添加图书页面
    @RequestMapping("/addBook")
    public String addbook() {
        return "book/addBook";
    }

    //添加图书
    @RequestMapping("/submitAddBook")
    @ResponseBody
    public AjaxResult submitAddBook(Book book) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            bookService.addBook(book);
            ajaxResult.setSuccess(true);
            ajaxResult.setMessage("添加成功");
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("添加失败");
        }
        return ajaxResult;
    }

    //跳转修改页面
    @RequestMapping("/editBook")
    public String editBook(String book_id,Model model) {
        Book book = bookService.selectById(Integer.parseInt(book_id));
        model.addAttribute("bookinfo",book);
        model.addAttribute("code",1);
        return "book/addBook";
    }

    //修改图书
    @RequestMapping("/updateBook")
    @ResponseBody
    public AjaxResult updateBook(Book book) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            bookService.updateBook(book);
        return obj.toString();

    }

    //添加图书页面
    @RequestMapping("/addBook")
    public String addbook() {
        return "book/addBook";
    }

    //添加图书
    @RequestMapping("/submitAddBook")
    @ResponseBody
    public AjaxResult submitAddBook(Book book) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            bookService.addBook(book);
            ajaxResult.setSuccess(true);
            ajaxResult.setMessage("添加成功");
        }catch (Exception e){
            e.printStackTrace();
            ajaxResult.setSuccess(false);
            ajaxResult.setMessage("添加失败");
        }
        return ajaxResult;
    }

    //跳转修改页面
    @RequestMapping("/editBook")
    public String editBook(String book_id,Model model) {
        Book book = bookService.selectById(Integer.parseInt(book_id));
        model.addAttribute("bookinfo",book);
        model.addAttribute("code",1);
        return "book/addBook";
    }

    //修改图书
    @RequestMapping("/updateBook")
    @ResponseBody
    public AjaxResult updateBook(Book book) {
        AjaxResult ajaxResult = new AjaxResult();
        try{
            bookService.updateBook(book);
            ajaxResult.setSuccess(true);

@Controller
@RequestMapping("/reader")
public class ReaderController {

    @Autowired
    private ReaderService readerService;

    //跳转读者列表界面
    @RequestMapping("/readerIndex")
    public String readerIndex(){
        return "readerIndex";
    }

    //读者列表异步请求
    @RequestMapping("/listReader")
    @ResponseBody
    public String listCategory(@RequestParam(value = "page", defaultValue = "1") Integer pageno,
                               @RequestParam(value = "limit", defaultValue = "5") Integer pagesize,
                               String reader_id,String name) {

        Map<String,Object> paramMap = new HashMap();
        paramMap.put("pageno",pageno);
        paramMap.put("pagesize",pagesize);
        //判断是否为空
        if(StringUtil.isNotEmpty(reader_id))  paramMap.put("reader_id",Integer.parseInt(reader_id));
        if(StringUtil.isNotEmpty(name))  paramMap.put("name",name);
        PageBean<Reader> pageBean = readerService.listReader(paramMap);
        JSONObject obj = new JSONObject();
        obj.put("code", 0);
        obj.put("msg", "");
        obj.put("count",pageBean.getTotalsize());
        obj.put("data", pageBean.getDatas());
        return obj.toString();
    }

    //添加页面跳转
    @RequestMapping("/addReader")
    public String addreader() {
        return "/reader/addReader";
    }

    @RequestMapping("/editReader")
    public String editReader(Integer id,Model model) {
        Reader reader = readerService.selectById(id);
        model.addAttribute("reader",reader);
        model.addAttribute("code",1);

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值