1.用户表
import lombok.Data;
@Data
public class User {
private int userId;
private String userName;
private String address;
private int sex;
private String userPass;
private int roleId;
private String roleName;
2.角色表
import lombok.Data;
@Data
public class Role {
private int roleId;
private String roleName;
}
3.菜单表
import lombok.Data;
@Data
public class Menu {
private int menuId;
private String menuName;
private int pId;
}
4.角色菜单中间表
import lombok.Data;
@Data
public class RoleMenu {
private int mrId;
private int roleId;
private int menuId;
}
5.父菜单
@Data
public class ParentMenu {
private int pId;
private String pName;
}
6.返回对象
@Data
public class UserRoleMenu {
private int userId;
private String userName;
private String address;
private int sex;
private String userPass;
private int roleId;
private String roleName;
private int menuId;
private String menuName;
private int pId;
private String pName;
}
7.Controller请求
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.shy.springmvc.dao.UserInfoDao;
import com.shy.springmvc.entity.User;
import com.shy.springmvc.service.IComponentsService;
import com.shy.springmvc.service.IUserService;
import com.shy.springmvc.util.InitializeBean;
import com.shy.springmvc.util.ReturnMsg;
import lombok.extern.slf4j.Slf4j;
@RequestMapping(value="/web")
@Controller
@Slf4j
public class BaseController {
@Autowired
UserInfoDao userInfo;
@Autowired
IUserService userService;
@RequestMapping(value="/app1")
@ResponseBody
public JSONObject Test1() {
JSONObject backJson = new JSONObject();
String userName = "shy";
backJson = userService.excute(userName);
return backJson;
}
}
8.service处理
①service接口
import com.alibaba.fastjson.JSONObject;
public interface IUserService {
public JSONObject excute(String param);
}
②service实现类
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject;
import com.shy.springmvc.dao.UserInfoDao;
import com.shy.springmvc.entity.User;
import com.shy.springmvc.entity.UserRoleMenu;
import com.shy.springmvc.service.IUserService;
import com.shy.springmvc.util.ReturnMsg;
import lombok.extern.slf4j.Slf4j;
@Service("UserserviceImpl1")
@Slf4j
public class UserServiceImpl1 implements IUserService{
@Autowired
UserInfoDao userInfo;
public JSONObject excute(String param) {
JSONObject backJson = new JSONObject();
User user = userInfo.queryUserByUserName(param);
if (null != user) {
int userId = user.getUserId();
List<UserRoleMenu> urm = userInfo.queryByUserId(userId);
backJson.put("DATA", urm);
backJson.put("STATUS", ReturnMsg.SUCCESS.getCode());
backJson.put("MSG", ReturnMsg.SUCCESS.getMsg());
log.info("RESULT.................:"+backJson);
}
return backJson;
}
}
9.dao接口
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.mybatis.spring.annotation.MapperScan;
import com.shy.springmvc.entity.*;
@MapperScan
public interface UserInfoDao {
@Select("select * from t_user_info ")
List<UserInfo> findUserInfo();
User queryUserByUserName(@Param("userName")String userName);
List<UserRoleMenu> queryByUserId(@Param("userId")int userId);
}
10.mapper
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.shy.springmvc.dao.UserInfoDao" >
<!--
<insert id="save" parameterType="com.ibigsea.bootdao.entity.User">
insert into t_user(username,age) values(#{userName,jdbcType=VARCHAR},#{age,jdbcType=NUMERIC})
</insert>
<select id="selectById" resultType="com.ibigsea.bootdao.entity.User">
select * from t_user where id = #{id,jdbcType=NUMERIC}
</select>
-->
<!-- 批量添加 参数为List<UserInfo> -->
<insert id="addUserInfo" useGeneratedKeys="true" parameterType="java.util.List">
INSERT INTO t_user_info(userName, sex, address,roleId,userPass)
VALUES
<foreach collection="ulist" item="data" separator="," index = "index">
(#{data.userName},#{data.sex},#{data.address},#{data.roleId},#{data.userPass})
</foreach>
</insert>
<select id="getUserRolePageInfo" resultType="com.shy.springmvc.entity.UserInfo">
SELECT * FROM t_user_info a, t_role_info b where a.roleId = b.roleId limit #{start},#{end}
</select>
<select id="checkUserName" resultType="java.lang.Integer">
SELECT * FROM t_user_info WHERE userName = #{userName}
</select>
<select id="getUserInfoById" resultType="com.shy.springmvc.entity.UserInfo">
select * from t_user_info where 1 = 1
<if test="id != null and id != '' ">
and userId = #{id}
</if>
<if test="id == null">
</if>
</select>
<select id="getUserInfoByName" resultType="com.shy.springmvc.entity.UserInfo">
select * from t_user_info where 1 = 1
<if test="name != null">
and userName = #{name}
</if>
<if test="soft != null">
order by ${soft}
</if>
</select>
<select id="queryUserByUserName" parameterType="String" resultType="com.shy.springmvc.entity.User">
select * from t_user_info where 1 = 1
<if test="userName != null and userName != '' ">
and userName = #{userName}
</if>
<if test="userName == null">
</if>
</select>
<select id="queryByUserId" parameterType="Integer" resultType="com.shy.springmvc.entity.UserRoleMenu">
SELECT * FROM t_user_info a, t_role_info b, t_role_menu_info c, t_menu_info d, t_parent_menu_info e
WHERE 1 = 1
AND a.roleId = b.roleId
AND b.roleId = c.roleId
AND c.menuId = d.menuId
AND d.pId = e.pId
<if test="userId != null and userId != '' ">
AND a.userId = #{userId}
</if>
<if test="userId == null">
</if>
</select>
</mapper>
11.返回结果
{"DATA":[{"address":"Beijig","menuId":1,"menuName":"用户管理","pId":1,"pName":"系统管理","roleId":1,"roleName":"超级管理员","sex":1,"userId":16,"userName":"shy","userPass":"JfnnlDI7RTiF9RgfG2JNCw=="},{"address":"Beijig","menuId":2,"menuName":"角色管理","pId":1,"pName":"系统管理","roleId":1,"roleName":"超级管理员","sex":1,"userId":16,"userName":"shy","userPass":"JfnnlDI7RTiF9RgfG2JNCw=="},{"address":"Beijig","menuId":3,"menuName":"菜单管理","pId":1,"pName":"系统管理","roleId":1,"roleName":"超级管理员","sex":1,"userId":16,"userName":"shy","userPass":"JfnnlDI7RTiF9RgfG2JNCw=="},{"address":"Beijig","menuId":4,"menuName":"业务manager1","pId":2,"pName":"业务管理","roleId":1,"roleName":"超级管理员","sex":1,"userId":16,"userName":"shy","userPass":"JfnnlDI7RTiF9RgfG2JNCw=="},{"address":"Beijig","menuId":5,"menuName":"业务manager2","pId":2,"pName":"业务管理","roleId":1,"roleName":"超级管理员","sex":1,"userId":16,"userName":"shy","userPass":"JfnnlDI7RTiF9RgfG2JNCw=="},{"address":"Beijig","menuId":6,"menuName":"用户统计","pId":3,"pName":"统计管理","roleId":1,"roleName":"超级管理员","sex":1,"userId":16,"userName":"shy","userPass":"JfnnlDI7RTiF9RgfG2JNCw=="},{"address":"Beijig","menuId":7,"menuName":"用户消费","pId":3,"pName":"统计管理","roleId":1,"roleName":"超级管理员","sex":1,"userId":16,"userName":"shy","userPass":"JfnnlDI7RTiF9RgfG2JNCw=="},{"address":"Beijig","menuId":8,"menuName":"业务manager3","pId":2,"pName":"业务管理","roleId":1,"roleName":"超级管理员","sex":1,"userId":16,"userName":"shy","userPass":"JfnnlDI7RTiF9RgfG2JNCw=="},{"address":"Beijig","menuId":9,"menuName":"业务manager4","pId":2,"pName":"业务管理","roleId":1,"roleName":"超级管理员","sex":1,"userId":16,"userName":"shy","userPass":"JfnnlDI7RTiF9RgfG2JNCw=="},{"address":"Beijig","menuId":12,"menuName":"业务manager5","pId":2,"pName":"业务管理","roleId":1,"roleName":"超级管理员","sex":1,"userId":16,"userName":"shy","userPass":"JfnnlDI7RTiF9RgfG2JNCw=="}],"MSG":"SUCCESS","STATUS":"0"}