java 用户角色菜单查询

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"}
  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值