——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot图书管理系统(java+springboot+mybatis+jpa+html+thymeleaf+maven+mysql)
项目介绍
该项目比较界面简单大方,功能简洁,只有三张表,适合java初学者或者课程设计; 主要功能包括: 首页轮播图 图书管理:图书列表、图书上架; 借阅管理:搜索图书、借阅图书、归还图书; 读者管理:读者列表、读者添加;
用户中心:个人信息、用户管理、添加管理员;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本;
技术栈
后端:springboot+jpa+mybatis+springsecurity+swagger+
前端:html+javaex
使用说明
运行项目,输入localhost:8080 登录 管理员用户名:admin 密码:123456
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 @PostMapping("/add") public R addBook (@RequestBody Book book) { return R.success(CodeEnum.SUCCESS,bookService.addBook(book)); } @ApiOperation("编辑图书") @PostMapping("/update") public R modifyBook (@RequestBody Book book) { return R.success(CodeEnum.SUCCESS,bookService.updateBook(book)); } @ApiOperation("图书详情") @GetMapping("/detail") public R bookDetail (Integer id) { return R.success(CodeEnum.SUCCESS,bookService.findBookById(id)); } @ApiOperation("图书详情 根据ISBN获取") @GetMapping("/detailByIsbn") public R bookDetailByIsbn (String isbn) { return R.success(CodeEnum.SUCCESS,bookService.findBookByIsbn(isbn)); } @ApiOperation("删除图书") @GetMapping("/delete") public R delBook (Integer id) { bookService.deleteBook(id); return R.success(CodeEnum.SUCCESS); } } package com.book.manager.controller;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 @Api(tags = "图书管理") @RestController @RequestMapping("/book") public class BookController { @Autowired private BookService bookService; @ApiOperation("图书搜索列表") @PostMapping("/list") public R getBookList (@RequestBody PageIn pageIn) { if (pageIn == null ) { return R.fail(CodeEnum.PARAM_ERROR); } return R.success(CodeEnum.SUCCESS,bookService.getBookList(pageIn)); } @ApiOperation("添加图书") @PostMapping("/add") public R addBook (@RequestBody Book book) { return R.success(CodeEnum.SUCCESS,bookService.addBook(book)); } @ApiOperation("编辑图书") @PostMapping("/update")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 @Api(tags = "用户管理") @RestController @RequestMapping("/user") public class UsersController { @Autowired private UserService userService; @ApiOperation("用户列表") @PostMapping("/list") public R getUsers (@RequestBody PageIn pageIn) { if (pageIn == null ) { return R.fail(CodeEnum.PARAM_ERROR); } PageInfo<Users> userList = userService.getUserList(pageIn); PageOut pageOut = new PageOut(); pageOut.setCurrPage(userList.getPageNum()); pageOut.setPageSize(userList.getPageSize()); pageOut.setTotal((int ) userList.getTotal()); List<UserOut> outs = new ArrayList<>(); for (Users users : userList.getList()) { UserOut out = new UserOut(); BeanUtils.copyProperties(users,out); out.setIdent(ConvertUtil.identStr(users.getIdentity())); out.setBirth(DateUtil.format(users.getBirthday(),Constants.DATE_FORMAT)); outs.add(out); } pageOut.setList(outs); return R.success(CodeEnum.SUCCESS,pageOut); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 @Api(tags = "路由") @Controller public class RouteController { @ApiOperation("跳转登录页") @GetMapping({"/login","/","logout"}) public String toLogin () { return "login" ; } @ApiOperation("跳转首页") @RequestMapping({"/index"}) public String toIndex () { return "index" ; } @ApiOperation("跳转欢迎页面") @RequestMapping({"/welcome"}) public String toWelcome () { return "welcome" ; } @ApiOperation("二级路由跳转") @RequestMapping("/{filename}/{name}") public String change (@PathVariable String filename,@PathVariable String name) { return filename+"/" +name; } } package com.book.manager.interceptor;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 String username = (String) map.get("username" ); if (StrUtil.isNotBlank(username)) { Users users = userService.findByUsername(username); UserOut out = new UserOut(); BeanUtils.copyProperties(users,out); out.setBirth(DateUtil.format(users.getBirthday(),Constants.DATE_FORMAT)); Integer identity = users.getIdentity(); String ident = "" ; if (identity == Constants.STUDENT) { ident = Constants.STU_STR; }else if (identity == Constants.TEACHER) { ident = Constants.TEA_STR; }else if (identity == Constants.OTHER) { ident = Constants.OTHER_STR; }else if (identity == Constants.ADMIN) { ident = Constants.ADMIN_STR; } out.setIdent(ident); return R.success(CodeEnum.SUCCESS,out); } } return R.fail(CodeEnum.USER_NOT_FOUND); } } package com.book.manager.controller;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 @Controller public class LoginController { @Autowired private UserService userService; } package com.book.manager.controller;
——————————PayStart——————————
项目链接: https://javayms.github.io?id=411422272105200bk https://javayms.pages.dev?id=411422272105200bk