——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
管理员:学生管理、教师管理、阅览室类型管理、阅览室管理(座位生成等)、学生信用积分管理、座位预约统计管理等。
学生:登录、修改个人信息、阅览室查看、选座信息查看、选座、取消选座等。
教师:登录、阅览室管理、学生信用管理:可根据学生表现进行扣分、奖励等,扣分达到设定的值则无法进行选座。





















技术框架
JSP JavaScript SpringBoot SpringDataJPA FreeMarker MySQL
基于javaweb的SpringBoot+JPA图书馆座位占座预约管理系统(管理员、老师、学生)(java+springboot+jpa+freemarker+mysql+maven)
——————————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 36 37 38 39
| } existMenu.setIcon(menu.getIcon()); existMenu.setName(menu.getName()); existMenu.setParent(menu.getParent()); existMenu.setSort(menu.getSort()); existMenu.setUrl(menu.getUrl()); existMenu.setButton(menu.isButton()); existMenu.setShow(menu.isShow()); if(menuService.save(existMenu) == null){ Result.error(CodeMsg.ADMIN_MENU_ADD_ERROR); } operaterLogService.add("编辑菜单信息【" + existMenu + "】"); return Result.success(true); }
@RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){ try { menuService.delete(id); } catch (Exception e) { return Result.error(CodeMsg.ADMIN_MENU_DELETE_ERROR); } operaterLogService.add("删除菜单信息,菜单ID【" + id + "】"); return Result.success(true); } } package com.demo.controller.admin;
|
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
|
@Component public class LoginInterceptor implements HandlerInterceptor {
private Logger log = LoggerFactory.getLogger(LoginInterceptor.class);
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { String requestURI = request.getRequestURI(); HttpSession session = request.getSession(); Object attribute = session.getAttribute(SessionConstant.SESSION_USER_LOGIN_KEY); if (attribute == null) { log.info("用户还未登录或者session失效,重定向到登录页面,当前URL=" + requestURI); if (StringUtil.isAjax(request)) { try { response.setCharacterEncoding("UTF-8"); response.getWriter().write(JSON.toJSONString(CodeMsg.USER_SESSION_EXPIRED)); } catch (IOException e) { e.printStackTrace(); } return false; } try { response.sendRedirect("/system/login"); } catch (IOException e) {
|
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
| @RequestMapping("/clbum") @Controller public class ClazzController {
@Autowired private ClazzDao clazzDao; @Autowired private ClazzService clazzService; @Autowired private TeacherService teacherService;
@Autowired private OperaterLogService operaterLogService;
@RequestMapping(value="/list") public String list(Model model, Clazz clazz, PageBean<Clazz> pageBean){ model.addAttribute("title", "班级列表"); model.addAttribute("teacher" , teacherService.findAll()); model.addAttribute("claname", clazz.getClaname()); model.addAttribute("pageBean",clazzService.findList(clazz,pageBean)); return "admin/clbum/list"; }
@RequestMapping(value="/add",method= RequestMethod.GET)
|
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
| operaterLogService.add("添加用户,用户ID:" + id); return Result.success(true); } } package com.demo.controller.admin;
@Controller @RequestMapping(value = "/readRoom") public class ReadRoomController {
@Autowired private ReadRoomService readRoomService;
@Autowired private ReadRoomTypeService readRoomTypeService; @RequestMapping(value="/list") public String list(Model model, ReadingRoom readingRoom, PageBean<ReadingRoom> pageBean){ model.addAttribute("title", "阅览室列表"); model.addAttribute("name",readingRoom.getName()); model.addAttribute("pageBean", readRoomService.findAll(readingRoom, pageBean)); return "admin/readroom/list"; }
|
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 45 46 47 48 49 50 51 52
| */ @RequestMapping(value = "/update_userinfo", method = RequestMethod.POST) @ResponseBody public Result updateUserInfo(User user, Model model) {
User loginedUser = SessionUtil.getLoginedUser(); loginedUser.setEmail(user.getEmail()); loginedUser.setNickName(user.getNickName()); loginedUser.setMobile(user.getMobile()); loginedUser.setHeadPic(user.getHeadPic()); User save = userService.save(loginedUser); SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser); return Result.success(save); }
@RequestMapping(value = "/update_pwd", method = RequestMethod.GET) public String updatePwd() { return "admin/system/update_pwd"; }
@RequestMapping(value = "/update_pwd", method = RequestMethod.POST) @ResponseBody public Result<Boolean> updatePwd(@RequestParam(name = "oldPwd", required = true) String oldPwd, @RequestParam(name = "newPwd", required = true) String newPwd ) { User loginedUser = SessionUtil.getLoginedUser(); if (!loginedUser.getPassword().equals(oldPwd)) { return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_ERROR); } if (StringUtils.isEmpty(newPwd)) { return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_EMPTY); } loginedUser.setPassword(newPwd); userService.save(loginedUser); SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser); return Result.success(true);
|
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
| @RequestMapping(value="/edit",method=RequestMethod.GET) public String edit(Model model,@RequestParam(name="id",required=true)Long id){ model.addAttribute("roles", roleService.findAll()); model.addAttribute("user", userService.find(id)); return "admin/user/edit"; }
@RequestMapping(value="/edit",method=RequestMethod.POST) @ResponseBody public Result<Boolean> edit(User user){ CodeMsg validate = ValidateEntityUtil.validate(user); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(user.getRole() == null || user.getRole().getId() == null){ return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY); } if(user.getId() == null || user.getId().longValue() <= 0){ return Result.error(CodeMsg.ADMIN_USE_NO_EXIST); } if(userService.isExistUsername(user.getUsername(), user.getId())){ return Result.error(CodeMsg.ADMIN_USERNAME_EXIST); } User findById = userService.find(user.getId()); BeanUtils.copyProperties(user, findById, "id","createTime","updateTime"); if(userService.save(findById) == null){ return Result.error(CodeMsg.ADMIN_USE_EDIT_ERROR); } operaterLogService.add("编辑用户,用户名:" + user.getUsername()); return Result.success(true); }
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=071522512602105aa
https://javayms.pages.dev?id=071522512602105aa