MyBatis 关联查询自关联(查询指定父节点的所有子节点)
java哥
阅读:684
2021-03-31 16:53:05
评论:0
Mapper.java 接口定义
List<***> selectAllWrapper(Map<String, Object> paramter);
Mapper.xml 配置文件
<resultMap id="BaseResultMap" type="SysDataArch">
<id column="sid" jdbcType="VARCHAR" property="sid" />
<result column="assort_no" jdbcType="VARCHAR" property="assortNo" />
<result column="assort_name" jdbcType="VARCHAR" property="assortName" />
<result column="psid" jdbcType="VARCHAR" property="psid" />
<result column="security_level_code" jdbcType="VARCHAR" property="securityLevelCode" />
<result column="storage_type_code" jdbcType="VARCHAR" property="storageTypeCode" />
</resultMap>
<resultMap id="BaseResultMapWrapper" type="SysDataArchWrapper" extends="BaseResultMap">
<collection property="children" ofType="SysDataArchAssort" select="selectChildrenByParent" column="sid"/>
</resultMap>
<select id="selectChildrenByParent" parameterType="java.lang.String" resultMap="BaseResultMapWrapper">
select
<include refid="Base_Column_List" />
from sys_data_arch
where psid = #{sid,jdbcType=VARCHAR}
</select>
<select id="selectAllWrapper" parameterType="map" resultMap="BaseResultMapWrapper">
select
<include refid="Base_Column_List" />
from sys_data_arch
where 1 = 1
<include refid="condition" />
</select>
Service.java 接口定义
List<SysDataArchAssortWrapper> selectAllWrapper(Map<String, Object> paramter);
ServiceImpl.java 类实现
@Override
public List<SysDataArchWrapper> selectAllWrapper(Map<String, Object> paramter) {
// TODO Auto-generated method stub
return mapper.selectAllWrapper(paramter);
}
实体定义和拓展对象:
@Setter
@Getter
public class SysDataArch extends BaseModel {
private String sid;
private String assortNo;
private String assortName;
private String psid;
private String securityLevelCode;
private String storageTypeCode;
}
@Setter
@Getter
public class SysDataArchWrapper extends SysDataArch{
private List<SysDataArch> children;
}
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。