——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot宿舍管理系统(java+springboot+ssm+html+thymeleaf+maven+mysql)
一、项目运行 环境配置:
Jdk1.8 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
HTML +Springboot+ SpringMVC + MyBatis + ThymeLeaf + JavaScript + JQuery + Ajax + maven等等。
——————————CodeStart——————————
后台用户管理控制器:
/**
后台用户管理控制器
@author yy
*/
@RequestMapping(“/user”)
@Controller
public class UserController {
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
@Autowired
private OperaterLogService operaterLogService;
/**
用户列表页面
@param model
@param user
@param pageBean
@return
*/
@RequestMapping(value=”/list”)
public String list(Model model,User user,PageBean
model.addAttribute(“title”, “用户列表”);
model.addAttribute(“username”, user.getUsername());
model.addAttribute(“pageBean”, userService.findList(user, pageBean));
return “admin/user/list”;
/**
新增用户页面
@param model
@return
*/
@RequestMapping(value=”/add”,method=RequestMethod.GET)
public String add(Model model){
model.addAttribute(“roles”, roleService.findAll());
return “admin/user/add”;
/**
用户添加表单提交处理
@param user
@return
*/
@RequestMapping(value=”/add”,method=RequestMethod.POST)
@ResponseBody
public Result
//用统一验证实体方法验证是否合法
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(userService.isExistUsername(user.getUsername(), 0l)){
return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);
//到这说明一切符合条件,进行数据库新增
if(userService.save(user) == null){
return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR);
operaterLogService.add(“添加用户,用户名:” + user.getUsername());
return Result.success(true);
/**
用户编辑页面
@param model
@return
*/
@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”;
/**
编辑用户信息表单提交处理
@param user
@return
*/
@RequestMapping(value=”/edit”,method=RequestMethod.POST)
@ResponseBody
public Result
//用统一验证实体方法验证是否合法
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());
//讲提交的用户信息指定字段复制到已存在的user对象中,该方法会覆盖新字段内容
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);
/**
删除用户
@param id
@return
*/
@RequestMapping(value=”/delete”,method=RequestMethod.POST)
@ResponseBody
public Result
try {
userService.delete(id);
} catch (Exception e) {
return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);
operaterLogService.add(“添加用户,用户ID:” + id);
return Result.success(true);
学生管理控制层:
@RequestMapping(“/stu”)
@Controller
public class StudentController {
@Autowired
private StudentService studentService;
@Autowired
private DormitoryService dormitoryService;
@Autowired
CoachDao coachDao;
@Autowired
private RoleService roleService ;
@RequestMapping(value=”/list”)
public String list(Model model, Student student, PageBean
model.addAttribute(“title”, “学生列表”);
model.addAttribute(“name”, student.getStudentName());
model.addAttribute(“pageBean”, studentService.findByName(student, pageBean));
return “admin/student/list”;
/**
学生修改
@param model
@param id
@return
*/
@RequestMapping(value=”/edit”,method=RequestMethod.GET)
public String edit(Model model,@RequestParam(name=”id”)Long id){
Student byID = studentService.findByID(id);
List
List
List
model.addAttribute(“coachs”,all1);
model.addAttribute(“dormitorys”,byBuilding_id);
model.addAttribute(“buildings”,all2);
model.addAttribute(“student”,byID );
return “admin/student/edit”;
@Autowired
private BuildingService buildingService;
/**
角色添加页面
@param
@return
*/
@RequestMapping(value=”/add”,method= RequestMethod.GET)
public String add(Model model){
//查出所有的宿舍
List
//查出所有辅导员
List
List
//model.addAttribute(“dormitorys”,all);
model.addAttribute(“coachs”,all1);
model.addAttribute(“buildings”,all2);
return “admin/student/add”;
@RequestMapping(value=”delete”,method= RequestMethod.POST)
@ResponseBody
public Result delete(long id){
try {
studentService.delete(id);
} catch (Exception e) {
return Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);
return Result.success(true);
@RequestMapping(value=”/building”,method= RequestMethod.POST)
@ResponseBody
public Result getuilding(long id){
List
return Result.success(byBuilding_id);
/**
编辑用户信息表单提交处理
@param
@return
*/
@RequestMapping(value=”/add”,method=RequestMethod.POST)
@ResponseBody
public Result
/**
有id是修改需要判断
无id是增加无需判断
*/
if (student.getId()!=null){
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(student);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
//到这说明一切符合条件,进行数据库保存
Student byID = studentService.findByID(student.getId());
//讲提交的用户信息指定字段复制到已存在的user对象中,该方法会覆盖新字段内容
BeanUtils.copyProperties(student,byID, “id”,”createTime”,”updateTime”,”studentNo”,”role”,”password”);
studentService.save(byID);
}else {
if (!StringUtil.emailFormat(student.getEmail())){
return Result.error(CodeMsg.ADMIN_STUDENT_EMAIL);
if (!StringUtil.isMobile(student.getMobile())){
return Result.error(CodeMsg.ADMIN_STUDENT_MOBILE);
student.setRole(roleService.findByRoleType(RoleType.STUDENT));
String s = StringUtil.generateSn(“S”, “”);
student.setStudentNo(s);
student.setPassword(s);
studentService.save(student);
return Result.success(true);
@Autowired
private OperaterLogService operaterLogService;
@Autowired
private DatabaseBakService databaseBakService;
private Logger log = LoggerFactory.getLogger(SystemController.class);
楼栋信息管理控制层:
@Controller
@RequestMapping(“/building”)
public class BuildingController {
@Autowired
private BuildingService buildingService;
@Autowired
private OperaterLogService operaterLogService;
/**
楼栋列表页面
@param model
@param building
@param pageBean
@return
*/
@RequestMapping(value=”/list”)
public String list(Model model, Building building, PageBean
model.addAttribute(“title”, “楼栋列表”);
model.addAttribute(“campus”, building.getCampus());
model.addAttribute(“pageBean”, buildingService.findList(building, pageBean));
return “admin/building/list”;
/**
新增楼栋页面
@param model
@return
*/
@RequestMapping(value=”/add”,method=RequestMethod.GET)
public String add(Model model){
model.addAttribute(“building”, buildingService.findAll());
return “admin/building/add”;
/**
楼栋编辑页面
@param model
@return
*/
@RequestMapping(value=”/edit”,method=RequestMethod.GET)
public String edit(Model model,@RequestParam(name=”id”,required=true)Long id){
model.addAttribute(“building”, buildingService.find(id));
return “admin/building/edit”;
/**
楼栋添加表单提交处理
@param building
@return
*/
@RequestMapping(value=”/add”,method=RequestMethod.POST)
@ResponseBody
public Result
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(building);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
if(buildingService.isExistCampusAndBno(building.getCampus(),building.getBno(), 0L)){
return Result.error(CodeMsg.ADMIN_BUILDING_EXIST);
//到这说明一切符合条件,进行数据库新增
if(buildingService.save(building) == null){
return Result.error(CodeMsg.ADMIN_BUILDING_ADD_ERROR);
operaterLogService.add(“添加楼栋,楼栋校区和楼号:” + building.getCampus()+building.getBno());
return Result.success(true);
/**
编辑楼栋信息表单提交处理
@param building
@return
*/
@RequestMapping(value=”/edit”,method=RequestMethod.POST)
@ResponseBody
public Result
//用统一验证实体方法验证是否合法
CodeMsg validate = ValidateEntityUtil.validate(building);
if(validate.getCode() != CodeMsg.SUCCESS.getCode()){
return Result.error(validate);
if(building.getId() == null || building.getId().longValue() <= 0){
return Result.error(CodeMsg.ADMIN_BUILDING_EXIST);
if(buildingService.isExistCampusAndBno(building.getCampus(),building.getBno(), building.getId())){
return Result.error(CodeMsg.ADMIN_BUILDING_EXIST);
//到这说明一切符合条件,进行数据库保存
Building findById = buildingService.find(building.getId());
//讲提交的用户信息指定字段复制到已存在的user对象中,该方法会覆盖新字段内容
BeanUtils.copyProperties(building, findById, “id”,”createTime”,”updateTime”);
if(buildingService.save(findById) == null){
return Result.error(CodeMsg.ADMIN_USE_EDIT_ERROR);
operaterLogService.add(“编辑楼栋,楼栋校区和楼号:” + building.getCampus()+building.getBno());
return Result.success(true);
/**
删除楼栋
@param id
@return
*/
@RequestMapping(value=”/delete”,method=RequestMethod.POST)
@ResponseBody
public Result
try {
buildingService.delete(id);
} catch (Exception e) {
return Result.error(CodeMsg.ADMIN_BUILDING_DELETE_ERROR);
operaterLogService.add(“添加用户,用户ID:” + id);
return Result.success(true);
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=411422282105200dm
https://javayms.pages.dev?id=411422282105200dm