1、Mysql表设计:
表内容
2、构建实体类接收数据
public class Department {
private int dId;
private String appId;
private int abId;
private String dName;
private int parentId;
private int ab_status;
private String organId;
private int isDefault;
private int orderNo;
private int dVisibility;
private long domainId;
private Timestamp updateTime;
private int dType;
private String sub_compcode;
private int thirdDeptId;
private List<Department> childrenList;//1对多
}
3、mybatis mapper
<resultMap id="baseResultMap" type="com.suirui.common.entity.Department" >
<id property="dId" column="d_id"/>
<result property="appId" column="app_id"/>
<result property="abId" column="ab_id" />
<result property="dName" column="d_name" />
<result property="parentId" column="parent_id" />
<result property="ab_status" column="ab_status" />
<result property="organId" column="organ_id" />
<result property="isDefault" column="is_default" />
<result property="orderNo" column="order_no" />
<result property="dVisibility" column="d_visibility" />
<result property="domainId" column="domain_id" />
<result property="updateTime" column="update_time" />
<result property="dType" column="d_type" />
<result property="sub_compcode" column="sub_compcode" />
<result property="thirdDeptId" column="third_dept_id" />
</resultMap>
<resultMap id="all" type="com.suirui.common.entity.Department" extends="baseResultMap" >
<!--collection 特别注意column属性 此处必须为mysql表中的列名 -->
<collection property="childrenList" column="d_Id" ofType="all" javaType="java.util.ArrayList" select="findChildernDepartment" />
</resultMap>
<select id="findAllDepartment" resultMap="all">
select * from department where parent_id=''
</select>
<select id="findChildernDepartment" resultMap="all">
select * from department where parent_id=#{d_id}
</select>
<resultMap id="baseResultMap" type="com.suirui.common.entity.Department" >
<id property="dId" column="d_id"/>
<result property="appId" column="app_id"/>
<result property="abId" column="ab_id" />
<result property="dName" column="d_name" />
<result property="parentId" column="parent_id" />
<result property="ab_status" column="ab_status" />
<result property="organId" column="organ_id" />
<result property="isDefault" column="is_default" />
<result property="orderNo" column="order_no" />
<result property="dVisibility" column="d_visibility" />
<result property="domainId" column="domain_id" />
<result property="updateTime" column="update_time" />
<result property="dType" column="d_type" />
<result property="sub_compcode" column="sub_compcode" />
<result property="thirdDeptId" column="third_dept_id" />
</resultMap>
<resultMap id="all" type="com.suirui.common.entity.Department" extends="baseResultMap" >
<!--collection 特别注意column属性 此处必须为mysql表中的列名 -->
<collection property="childrenList" column="d_Id" ofType="all" javaType="java.util.ArrayList" select="findChildernDepartment" />
</resultMap>
<select id="findAllDepartment" resultMap="all">
select * from department where parent_id=''
</select>
<select id="findChildernDepartment" resultMap="all">
select * from department where parent_id=#{d_id}
</select>