——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot智慧社区管理系统(java+springboot+mybaits+vue+elementui+mysql)
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
4.数据库:MySql 5.7/8.0版本均可;
5.是否Maven项目:是;
技术栈
后端:SpringBoot+Mybaits
前端:Vue + elementui
使用说明
项目运行:
使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;
将项目中application.yml配置文件中的数据库配置改为自己的配置;
运行项目,在浏览器中输入地址:
前台地址:http://localhost:8080/springbootrpj39/front/index.html
后台地址
http://localhost:8080/springbootrpj39/admin/dist/index.html
管理员 abo 密码 abo
用户:用户1 密码: 123456
注意项目文件路径中不能含有中文、空格、特殊字符等,否则图片会上传不成功。
——————————CodeStart——————————
角色管理控制层:
/**
- 角色处理控制器层
*/
@Controller
@RequestMapping(“/role”)
public class RoleController extends BaseController {
@Autowired
private ResultInfo resultInfo;
@Autowired
private RoleService roleService;
/**
查询所有角色表的id和roleName
@return
*/
@GetMapping(“/findRoles”)
@ResponseBody
public List<Map<String, Object>> findRoles(@Nullable Integer id) {
return roleService.findRoles(id);
/**
动态查询t_role表
@param roleQuery
@return
*/
@GetMapping(“/roleList”)
@ResponseBody
public Map<String, Object> selectByParams(RoleQuery roleQuery) {
return roleService.findRoleList(roleQuery);
/**
角色视图首页
@return
*/
@GetMapping(“/index”)
public String toRolePage() {
return “role/role”;
/**
新增/修改公用页面
@param roleId
@return
*/
@GetMapping(“/toAddAndUpdatePage”)
public String toAddAndUpdatePage(@Nullable Integer roleId, Model model) {
// 修改
if (roleId != null) {
Role role = roleService.selectByPrimaryKey(roleId);
AssertUtil.isTrue(role == null, “角色不存在”);
model.addAttribute(“role”, role);
return “role/addAndUpdateRole”;
/**
新增角色
@param role
@return
*/
@RequestCode(“601001”)
@PostMapping(“/addRole”)
@ResponseBody
public ResultInfo addRole(Role role) {
roleService.addRole(role);
resultInfo.setAll(200, “新增角色成功”, null);
return resultInfo;
/**
修改角色信息
@param role
@return
*/
@RequestCode(“601003”)
@PostMapping(“/updateRole”)
@ResponseBody
public ResultInfo updateRole(Role role) {
roleService.updateRole(role);
resultInfo.setAll(200, “修改角色成功”, null);
return resultInfo;
/**
批量删除角色
@param ids
@return
*/
@RequestCode(“601004”)
@PostMapping(“/deleteRole”)
@ResponseBody
public ResultInfo updateRole(@RequestParam(“ids”) Integer[] ids) {
roleService.deleteRoles(ids);
resultInfo.setAll(200, “删除角色成功”, null);
return resultInfo;
登录管理控制层:
/**
- 登录控制器
*/
@Controller
@RequestMapping(“/login”)
public class LoginController {
@Autowired
private IndexController indexController;
@Autowired
private LoginServiceI loginServiceI;
/**
入口,跳转登录页面
@return
*/
@GetMapping(“/toLogin”)
public String toLogin() {
return “login/login”;
/**
默认入口,如果登录则跳转到indnex.jsp,如果没登录则跳转登录页面
@param user
@param session
@param model
@return
*/
@PostMapping(“”)
public String login(User user, HttpSession session, Model model) {
UserExpand info = loginServiceI.getUserLoginInfo(user);
if (null != info) {
session.setAttribute(“LOGIN_USER”, info);
return “redirect:/index”;
model.addAttribute(“msg”, “error”);
return “login/login”;
/**
登出
@param session
@return
*/
@GetMapping(“/logout”)
@ResponseBody
public Boolean logout(HttpSession session) {
session.removeAttribute(“LOGIN_USER”);
return true;
用户管理控制层:
/**
- User控制器类
*/
@Controller
@RequestMapping(“/user”)
public class UserController extends BaseController {
private Logger logger = LoggerFactory.getLogger(UserController.class);
@Autowired
private UserService userService;
@Autowired
private ResultInfo resultInfo;
/**
登录
@param userName
@param password
@return
*/
@PostMapping(“/login”)
@ResponseBody
public ResultInfo findUserByName(@Nullable String userName,@Nullable String password) {
Map<String, String> user = userService.findUserByName(userName, password);
// 将结果封装到ResultInfo中
resultInfo.setAll(200, “登陆成功”, user);
logger.info(“user:{}”,user);
logger.info(“resultInfo:{}”,resultInfo);
return resultInfo;
@GetMapping(“/toUpdateCurrentPage”)
public String toUpdateCurrentPage(HttpServletRequest request, Model model) {
// 获取userId
int userId = LoginUserUtil.releaseUserIdFromCookie(request);
model.addAttribute(“userModel”, userService.selectByPrimaryKey(userId));
return “user/addAndUpdateUser”;
/**
跳转到修改密码页面
@return
*/
@GetMapping(“/updatePWDPage”)
public String updatePasswordPage() {
return “user/password”;
/**
修改密码操作
@param request
@param oldPWD
@param newPWD
@param checkPWD
@return
*/
@PostMapping(“/updatePWD”)
@ResponseBody
public ResultInfo updatePassword(HttpServletRequest request
,String oldPWD,String newPWD,String checkPWD) {
int userId = LoginUserUtil.releaseUserIdFromCookie(request);
userService.updatePassword(userId, oldPWD, newPWD, checkPWD);
resultInfo.setAll(200, “修改成功”, null);
logger.info(“resultInfo:{}”,resultInfo);
return resultInfo;
/**
登出操作
@param request
@return
*/
@GetMapping(“/logout”)
public String logout(HttpServletRequest request) {
// 获取userId
int userId = LoginUserUtil.releaseUserIdFromCookie(request);
// 登录状态
if (userId != -1) {
// 删除session,回到登录页面
if (request.getSession().getAttribute(“user”) != null) {
// 不为空则删除session
request.getSession().removeAttribute(“user”);
return “redirect:/index”;
// ***
// 以下为用户权限管理相关操作
// ***
/**
查询用户列表数据
@param userQuery
@return
*/
@GetMapping(“/userList”)
@ResponseBody
public Map<String, Object> selectByParams(UserQuery userQuery) {
return userService.selectByParams(userQuery);
/**
跳转到用户管理首页
@return
*/
@GetMapping(“/index”)
public String index() {
return “user/user”;
/**
跳转到用户管理新增/修改页面
@param id
@return
*/
@GetMapping(“/toAddUserPage”)
public String toAddUserPage(@Nullable Integer id, Model model) {
// id不为null表示访问的是修改页面
if (id != null) {
model.addAttribute(“userModel”,userService.selectByPrimaryKey(id));
return “user/addAndUpdateUser”;
/**
新增用户
@param user
@param roleIds
@return
*/
@PostMapping(“/addUser”)
@ResponseBody
public ResultInfo addUser(User user, @RequestParam(“roleIds”) Integer[] roleIds) {
userService.addUser(user, roleIds);
resultInfo.setAll(200, “新增用户成功”, null);
return resultInfo;
/**
修改用户信息
@param user
@param roleIds
@return
*/
@PostMapping(“/updateUser”)
@ResponseBody
public ResultInfo updateUser(User user, @RequestParam(“roleIds”) Integer[] roleIds) {
userService.updateUser(user, roleIds);
resultInfo.setAll(200, “修改用户成功”, null);
return resultInfo;
/**
批量删除用户
@param ids
@return
*/
@PostMapping(“/deleteUsers”)
@ResponseBody
public ResultInfo deleteUsers(@RequestParam(“ids”) Integer[] ids) {
userService.deleteUsers(ids);
resultInfo.setAll(200, “删除用户成功”, null);
return resultInfo;
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=021125140706201rm
https://javayms.pages.dev?id=021125140706201rm