赞
踩
作者主页:源码空间站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 登录







- @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")
- 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);
- }
-
- }

- @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);
- }
-
- // @ApiOperation("添加用户")
- // @PostMapping("/add")
- // public R addUsers(@RequestBody Users users) {
- // return R.success(CodeEnum.SUCCESS,userService.addUser(users));
- // }
-
- @ApiOperation("添加读者")
- @PostMapping("/addReader")
- public R addReader(@RequestBody Users users) {
- if (users == null) {
- return R.fail(CodeEnum.PARAM_ERROR);
- }
- // 读者默认是普通用户
- users.setIsAdmin(1);
- return R.success(CodeEnum.SUCCESS,userService.addUser(users));
- }
-
- @ApiOperation("添加管理员")
- @PostMapping("/addAdmin")
- public R addAdmin(@RequestBody Users users) {
- if (users == null) {
- return R.fail(CodeEnum.PARAM_ERROR);
- }
- // 设置管理员权限
- users.setIsAdmin(0);
- return R.success(CodeEnum.SUCCESS,userService.addUser(users));
- }
-
-
- @ApiOperation("编辑用户")
- @PostMapping("/update")
- public R modifyUsers(@RequestBody Users users) {
- return R.success(CodeEnum.SUCCESS,userService.updateUser(users));
- }
-
-
- @ApiOperation("用户详情")
- @GetMapping("/detail")
- public R userDetail(Integer id) {
- Users user = userService.findUserById(id);
- if (user!=null) {
- UserOut out = new UserOut();
- BeanUtils.copyProperties(user,out);
- out.setBirth(DateUtil.format(user.getBirthday(),Constants.DATE_FORMAT));
- out.setIdent(ConvertUtil.identStr(user.getIdentity()));
- return R.success(CodeEnum.SUCCESS,out);
- }
-
- return R.fail(CodeEnum.NOT_FOUND);
- }
-
- @ApiOperation("删除用户")
- @GetMapping("/delete")
- public R delUsers(Integer id) {
- userService.deleteUser(id);
- return R.success(CodeEnum.SUCCESS);
- }
-
- @ApiOperation("获取当前用户登陆信息")
- @GetMapping("/currUser")
- public R getCurrUser() {
- Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
- if (principal!=null) {
- Map<String,Object> map = BeanUtil.beanToMap(principal);
- 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);
- }
- }

如果也想学习本系统,下面领取。回复:058springboot
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。