• mybatis resultMap 映射配置


    现有数据库表:

    CREATE TABLE `dept_p` (
      `DEPT_ID` varchar(40) NOT NULL,
      `DEPT_NAME` varchar(50) DEFAULT NULL,
      `PARENT_ID` varchar(40) DEFAULT NULL COMMENT '自关联,多对一',
      `STATE` int(11) DEFAULT NULL COMMENT '1启用0停用',
      `CREATE_BY` varchar(40) DEFAULT NULL COMMENT '登录人编号',
      `CREATE_DEPT` varchar(40) DEFAULT NULL COMMENT '登录人所属部门编号',
      `CREATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `UPDATE_BY` varchar(40) DEFAULT NULL,
      `UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
      PRIMARY KEY (`DEPT_ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8

    mybatis的xml文件:

    <!-- 需要显示部门的全部信息,并且需要显示上级部门的ID和上级部门的名称 -->
    <select id="findDeptList" resultMap="deptRM">
    SELECT * FROM 
    (SELECT * FROM dept_p)d
    LEFT JOIN
    (SELECT dept_id AS p_id,dept_name AS p_name FROM dept_p)p
    ON d.parent_id=p.p_id
    ORDER BY dept_id
    </select>
    
    <!--封装结果集 -->
    <resultMap type="Dept" id="deptRM" autoMapping="true">
    <id property="deptId" column="DEPT_ID"/>
    <id property="deptName" column="DEPT_NAME"/>
    <id property="state" column="STATE"/>
    <id property="createTime" column="CREATE_TIME"/>
    <id property="updateTime" column="UPDATE_TIME"/>
    <!--封装上级部门 一对一 -->
    <association property="parentDept" javaType="Dept">
    <id property="deptId" column="P_ID"/>
    <result property="deptName" column="P_NAME"/>
    </association>
    </resultMap>
  • 相关阅读:
    Windows7共享设置
    13-运算符
    13-数据类型转换
    06-移动web之flex布局
    09-sass
    08-less预处理器
    移动端必须掌握知识点
    11-JS变量
    10-响应式
    07-rem
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/6654224.html
Copyright © 2020-2023  润新知