• mybatis多对多映射


    数据库里面有角色实体类app_cms_role

    权限实体类app_cms_right

    以及一张中间表app_cms_role_right

    建立对应的实体类AppCmsRole

    package com.qianlong.cms.entity;
    
    import java.util.Date;
    import java.util.Set;
    
    public class AppCmsRole {
        private Integer id;
    
        private String name;
    
        private Date createTime;
    
        private Date updateTime;
    
        private Integer appId;
    
        private String roleName;
    
        private String rolePrivilege;
    
        private Set<AppCmsRight> rightSet;
    
        public Set<AppCmsRight> getRightSet() {
            return rightSet;
        }
    
        public void setRightSet(Set<AppCmsRight> rightSet) {
            this.rightSet = rightSet;
        }
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name == null ? null : name.trim();
        }
    
        public Date getCreateTime() {
            return createTime;
        }
    
        public void setCreateTime(Date createTime) {
            this.createTime = createTime;
        }
    
        public Date getUpdateTime() {
            return updateTime;
        }
    
        public void setUpdateTime(Date updateTime) {
            this.updateTime = updateTime;
        }
    
        public Integer getAppId() {
            return appId;
        }
    
        public void setAppId(Integer appId) {
            this.appId = appId;
        }
    
        public String getRoleName() {
            return roleName;
        }
    
        public void setRoleName(String roleName) {
            this.roleName = roleName == null ? null : roleName.trim();
        }
    
        public String getRolePrivilege() {
            return rolePrivilege;
        }
    
        public void setRolePrivilege(String rolePrivilege) {
            this.rolePrivilege = rolePrivilege == null ? null : rolePrivilege.trim();
        }
    
        @Override
        public String toString() {
            return "AppCmsRole [id=" + id + ", name=" + name + ", createTime=" + createTime + ", updateTime=" + updateTime
                    + ", appId=" + appId + ", roleName=" + roleName + ", rolePrivilege=" + rolePrivilege + ", rightSet="
                    + rightSet + "]";
        }
    
    }

    实体类AppCmsRight.java

    package com.qianlong.cms.entity;
    
    public class AppCmsRight {
        private Integer id;
    
        private String name;
    
        private Integer pid;
    
        private String url;
    
        private Short type;
    
        private Short organization;
    
        /* private List<AppCmsRole> rolesList; */
    
        public Integer getPid() {
            return pid;
        }
    
        public void setPid(Integer pid) {
            this.pid = pid;
        }
    
        public String getUrl() {
            return url;
        }
    
        public void setUrl(String url) {
            this.url = url == null ? null : url.trim();
        }
    
        public Short getType() {
            return type;
        }
    
        public void setType(Short type) {
            this.type = type;
        }
    
        public Short getOrganization() {
            return organization;
        }
    
        public void setOrganization(Short organization) {
            this.organization = organization;
        }
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        @Override
        public String toString() {
            return "AppCmsRight [id=" + id + ", name=" + name + ", pid=" + pid + ", url=" + url + ", type=" + type
                    + ", organization=" + organization + "]";
        }
    
    }

    对应的xml

    <resultMap id="BaseResultMap" type="com.qianlong.cms.entity.AppCmsRole">
            <id column="id" property="id" jdbcType="INTEGER" />
            <result column="name" property="name" jdbcType="VARCHAR" />
            <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
            <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
            <result column="app_id" property="appId" jdbcType="INTEGER" />
            <result column="role_name" property="roleName" jdbcType="VARCHAR" />
            <result column="role_privilege" property="rolePrivilege"
                jdbcType="VARCHAR" />
        </resultMap>
        <resultMap id="RoleRgiht" type="com.qianlong.cms.entity.AppCmsRole"
            extends="BaseResultMap">
            <collection property="rightSet" javaType="java.util.Set"<!-- 实体类里面如果是listjavaType就写成java.util.List-->
                ofType="com.qianlong.cms.entity.AppCmsRight">
                <id column="righrId" property="id" jdbcType="INTEGER" />
                <result column="rightName" property="name" jdbcType="VARCHAR" /><!--查询出来的id与role里面的重复,所以改写成别名,防止查询冲突-->
                <result column="pid" property="pid" jdbcType="INTEGER" />
                <result column="url" property="url" jdbcType="VARCHAR" />
                <result column="type" property="type" jdbcType="SMALLINT" />
                <result column="organization" property="organization"
                    jdbcType="SMALLINT" />
            </collection>
        </resultMap>
    
    <select id="selectRolePage" parameterType="HashMap" resultMap="RoleRgiht">
            select
            ro.id, ro.name, ro.create_time, ro.update_time, ro.app_id,
            ro.role_name,
            ro.role_privilege,ri.id as rightId,ri.name as
            rightName,ri.pid,ri.url,ri.type,ri.organization
            from app_cms_role ro
            left join app_cms_role_right rr on ro.id=rr.role_id
            left join
            app_cms_right ri on ri.id=rr.right_id
    </selecy>
  • 相关阅读:
    git push时提示"fatal: The current branch master has no..."
    git push时提示"Everything up-to-date"
    图解vim常用命令
    总结下git中一些常用命令
    SVN服务端的版本对比及创建仓库时的注意事项
    bootstrap字体图标不正常显示的原因
    bigdata_Hadoop jps出现process information unavailable提示解决办法
    bigdata_批量机器执行通用脚本
    bigdata_ambari修改hiveserver_metastore链接库(从0.14 升级到1.2.1 )
    bigdata_一篇文看懂Hadoop
  • 原文地址:https://www.cnblogs.com/plf112233/p/4164220.html
Copyright © 2020-2023  润新知