当前位置:   article > 正文

Java项目:Springboot图书管理系统_用ideaspring initalizr写的完整的图书管理系统

用ideaspring initalizr写的完整的图书管理系统

作者主页:源码空间站2022

 简介:Java领域优质创作者、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.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 

6.数据库:MySql 5.7版本;

技术栈

1. 后端:springboot+jpa+mybatis+springsecurity+swagger+

2. 前端:html+javaex

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2.将book-manager导入到开发工具中(idea/eclipse)均可
- idea:直接open打开源码文件夹,记住是pom文件所在的目录
- eclipse: 直接导入- 选择已存在导入maven项目
- 检查maven是否配置好,建议使用阿里云加速,这样等待时间比较短
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入localhost:8080 登录

运行截图 

代码相关

图书管理控制器

  1. @Api(tags = "图书管理")
  2. @RestController
  3. @RequestMapping("/book")
  4. public class BookController {
  5. @Autowired
  6. private BookService bookService;
  7. @ApiOperation("图书搜索列表")
  8. @PostMapping("/list")
  9. public R getBookList(@RequestBody PageIn pageIn) {
  10. if (pageIn == null) {
  11. return R.fail(CodeEnum.PARAM_ERROR);
  12. }
  13. return R.success(CodeEnum.SUCCESS,bookService.getBookList(pageIn));
  14. }
  15. @ApiOperation("添加图书")
  16. @PostMapping("/add")
  17. public R addBook(@RequestBody Book book) {
  18. return R.success(CodeEnum.SUCCESS,bookService.addBook(book));
  19. }
  20. @ApiOperation("编辑图书")
  21. @PostMapping("/update")
  22. public R modifyBook(@RequestBody Book book) {
  23. return R.success(CodeEnum.SUCCESS,bookService.updateBook(book));
  24. }
  25. @ApiOperation("图书详情")
  26. @GetMapping("/detail")
  27. public R bookDetail(Integer id) {
  28. return R.success(CodeEnum.SUCCESS,bookService.findBookById(id));
  29. }
  30. @ApiOperation("图书详情 根据ISBN获取")
  31. @GetMapping("/detailByIsbn")
  32. public R bookDetailByIsbn(String isbn) {
  33. return R.success(CodeEnum.SUCCESS,bookService.findBookByIsbn(isbn));
  34. }
  35. @ApiOperation("删除图书")
  36. @GetMapping("/delete")
  37. public R delBook(Integer id) {
  38. bookService.deleteBook(id);
  39. return R.success(CodeEnum.SUCCESS);
  40. }
  41. }

用户管理控制器

  1. @Api(tags = "用户管理")
  2. @RestController
  3. @RequestMapping("/user")
  4. public class UsersController {
  5. @Autowired
  6. private UserService userService;
  7. @ApiOperation("用户列表")
  8. @PostMapping("/list")
  9. public R getUsers(@RequestBody PageIn pageIn) {
  10. if (pageIn == null) {
  11. return R.fail(CodeEnum.PARAM_ERROR);
  12. }
  13. // 封装分页出参对象
  14. PageInfo<Users> userList = userService.getUserList(pageIn);
  15. PageOut pageOut = new PageOut();
  16. pageOut.setCurrPage(userList.getPageNum());
  17. pageOut.setPageSize(userList.getPageSize());
  18. pageOut.setTotal((int) userList.getTotal());
  19. List<UserOut> outs = new ArrayList<>();
  20. for (Users users : userList.getList()) {
  21. UserOut out = new UserOut();
  22. BeanUtils.copyProperties(users,out);
  23. out.setIdent(ConvertUtil.identStr(users.getIdentity()));
  24. out.setBirth(DateUtil.format(users.getBirthday(),Constants.DATE_FORMAT));
  25. outs.add(out);
  26. }
  27. pageOut.setList(outs);
  28. return R.success(CodeEnum.SUCCESS,pageOut);
  29. }
  30. // @ApiOperation("添加用户")
  31. // @PostMapping("/add")
  32. // public R addUsers(@RequestBody Users users) {
  33. // return R.success(CodeEnum.SUCCESS,userService.addUser(users));
  34. // }
  35. @ApiOperation("添加读者")
  36. @PostMapping("/addReader")
  37. public R addReader(@RequestBody Users users) {
  38. if (users == null) {
  39. return R.fail(CodeEnum.PARAM_ERROR);
  40. }
  41. // 读者默认是普通用户
  42. users.setIsAdmin(1);
  43. return R.success(CodeEnum.SUCCESS,userService.addUser(users));
  44. }
  45. @ApiOperation("添加管理员")
  46. @PostMapping("/addAdmin")
  47. public R addAdmin(@RequestBody Users users) {
  48. if (users == null) {
  49. return R.fail(CodeEnum.PARAM_ERROR);
  50. }
  51. // 设置管理员权限
  52. users.setIsAdmin(0);
  53. return R.success(CodeEnum.SUCCESS,userService.addUser(users));
  54. }
  55. @ApiOperation("编辑用户")
  56. @PostMapping("/update")
  57. public R modifyUsers(@RequestBody Users users) {
  58. return R.success(CodeEnum.SUCCESS,userService.updateUser(users));
  59. }
  60. @ApiOperation("用户详情")
  61. @GetMapping("/detail")
  62. public R userDetail(Integer id) {
  63. Users user = userService.findUserById(id);
  64. if (user!=null) {
  65. UserOut out = new UserOut();
  66. BeanUtils.copyProperties(user,out);
  67. out.setBirth(DateUtil.format(user.getBirthday(),Constants.DATE_FORMAT));
  68. out.setIdent(ConvertUtil.identStr(user.getIdentity()));
  69. return R.success(CodeEnum.SUCCESS,out);
  70. }
  71. return R.fail(CodeEnum.NOT_FOUND);
  72. }
  73. @ApiOperation("删除用户")
  74. @GetMapping("/delete")
  75. public R delUsers(Integer id) {
  76. userService.deleteUser(id);
  77. return R.success(CodeEnum.SUCCESS);
  78. }
  79. @ApiOperation("获取当前用户登陆信息")
  80. @GetMapping("/currUser")
  81. public R getCurrUser() {
  82. Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
  83. if (principal!=null) {
  84. Map<String,Object> map = BeanUtil.beanToMap(principal);
  85. String username = (String) map.get("username");
  86. if (StrUtil.isNotBlank(username)) {
  87. Users users = userService.findByUsername(username);
  88. UserOut out = new UserOut();
  89. BeanUtils.copyProperties(users,out);
  90. out.setBirth(DateUtil.format(users.getBirthday(),Constants.DATE_FORMAT));
  91. Integer identity = users.getIdentity();
  92. String ident = "";
  93. if (identity == Constants.STUDENT) {
  94. ident = Constants.STU_STR;
  95. }else if (identity == Constants.TEACHER) {
  96. ident = Constants.TEA_STR;
  97. }else if (identity == Constants.OTHER) {
  98. ident = Constants.OTHER_STR;
  99. }else if (identity == Constants.ADMIN) {
  100. ident = Constants.ADMIN_STR;
  101. }
  102. out.setIdent(ident);
  103. return R.success(CodeEnum.SUCCESS,out);
  104. }
  105. }
  106. return R.fail(CodeEnum.USER_NOT_FOUND);
  107. }
  108. }

如果也想学习本系统,下面领取。回复:058springboot

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/58233
推荐阅读
相关标签
  

闽ICP备14008679号