Java项目:SSM图书馆图书管理系统

发布于:2023-01-04 ⋅ 阅读:(441) ⋅ 点赞:(0)

作者主页:夜未央5788

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

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

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

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

环境需要

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/ 登录

运行截图

 

 

 

 

 

 

代码相关

登录管理控制器

@RequestMapping("/login")
@Controller
public class LoginController {

    @Autowired
    private LoginService loginService;

    //用户登录
    @PostMapping
    @ResponseBody
    public String login(@RequestBody LoginVo loginVo, HttpServletResponse response,
                                      HttpServletRequest request){
        String url = loginService.login(loginVo,response,request);
        return url;
    }

    //读者自动登录
    @GetMapping("/autoLogin")
    public String autoLoginReader(HttpServletResponse response,HttpServletRequest request){
        Boolean flag = loginService.autoLoginReader(response, request);
        String url = "";
        if(flag){   //登录成功
            url = "/pages/reader/bookDatalist.jsp";
        }else{  //登陆失败
            url = "/pages/login.jsp";
        }
        return "redirect:"+ url;
    }



}

注册管理控制器

@RequestMapping("register")
@RestController
public class RegisterController {

    @Autowired
    private ReaderService readerService;

    //用户名是否存在
    @PostMapping("/account/{accountName}")
    @ResponseBody
    public ResponseEntity<Void> accountName(@PathVariable("accountName") String accountName){
        readerService.accountNameExist(accountName);
        return ResponseEntity.ok().build();
    }

    //用户注册
    @PostMapping
    @ResponseBody
    public ResponseEntity<Void> registerReader(@RequestBody Reader reader){
        reader.builderReader();
        readerService.saveReader(reader);
        return ResponseEntity.ok().build();
    }

    //发送邮箱验证码
    @PostMapping("/verifyMailCode/{account}/{email}")
    @ResponseBody
    public ResponseEntity<Void> verifyMailCode(@PathVariable("account") String account,
                                               @PathVariable("email") String email){
        readerService.verifyMailCode(account,email);
        return ResponseEntity.ok().build();
    }

}

 图书管理控制器

@RequestMapping("/manager/books")
@RestController()
public class MBookController {

    @Autowired
    private BookService bookService;

    //分页获取图书信息 并可查找
    @GetMapping(value = "/{page}/{size}")
    public ResponseEntity<Page<Books>> booksList(@PathVariable("page") Integer page,
                                                @PathVariable("size") Integer size,
                                                Books book){
        return ResponseEntity.ok(bookService.getBookList(page,size,book));
    }

    //添加图书
    @PostMapping
    public ResponseEntity<Void> addBook(@RequestBody Books books){
        bookService.addBook(books);
        return ResponseEntity.status(HttpStatus.CREATED).build();
    }

    //修改图书
    @PutMapping
    public ResponseEntity<Void> modifyBook(@RequestBody Books books){
        bookService.modifyBook(books);
        return ResponseEntity.ok().build();
    }

    //修改图书的状态
    @PutMapping("/{bId}/{status}")
    public ResponseEntity<Void> modifyBookStatus(@PathVariable("bId") Integer bId,
                                                 @PathVariable("status") Boolean status){
        bookService.modifyBookStatus(bId,status);
        return ResponseEntity.ok().build();
    }

    //修改图书的总数量
    @PutMapping("/total/{bId}/{total}")
    public ResponseEntity<Void> modifyBookTotal(@PathVariable("bId") Integer bId,
                                                 @PathVariable("total") Integer total){
        bookService.modifyBookTotal(bId,total);
        return ResponseEntity.ok().build();
    }

//    //删除图书 多个
    @DeleteMapping
    public ResponseEntity<Void> deleteBookBybIds(@RequestBody List<Integer> ids){
        bookService.deleteBookBybIds(ids);
        return ResponseEntity.ok().build();
    }

    //删除图书 一个
    @DeleteMapping("/{bId}")
    public ResponseEntity<Void> deleteBookBybId(@PathVariable("bId") Integer bId){
        bookService.deleteBookBybIds(Arrays.asList(bId));
        return ResponseEntity.ok().build();
    }

}

如果也想学习本系统,下面领取。关注并回复:103ssm