mybatis 利用collection查询多层级数据、一对多数据、tree数据
以三级地区联动picker数据源为例1,实体配置以此类推镇套村村套屯别忘了写get setpublic class ADTownB {//镇编码private String value;//镇名称private String text;//村集合private List<NsCunB> children=new ArrayList<>();}2.SQL配置 collecti
·
以三级地区联动picker数据源为例
1,实体配置 以此类推 镇套村 村套屯 别忘了写get set
public class ADTownB {
//镇编码
private String value;
//镇名称
private String text;
//村集合
private List<AdCunB> children=new ArrayList<>();
}
2.SQL配置 collection 代表了嵌套的层级,里面的属性自行对应吧,picker每一级都是 value 和text,查询后系统会自动进行层级嵌套
<resultMap id="townMap" type="com.common.entity.AdTownB">
<id column="towncode" property="value" jdbcType="CHAR" />
<result column="townname" property="text" jdbcType="NVARCHAR" />
<collection property="children" ofType="com.common.entity.AdCunB">
<id column="cuncode" property="value" jdbcType="CHAR" />
<result column="cunname" property="text" jdbcType="NVARCHAR" />
<collection property="children" ofType="com.common.entity.AdTunB">
<id column="tuncode" property="value" jdbcType="CHAR" />
<result column="tunname" property="text" jdbcType="NVARCHAR" />
</collection>
</collection>
</resultMap>
<!--获取三级镇村屯联动数据-->
<select id="getThreelevelTown" resultMap="townMap" parameterType="java.lang.String">
select tun.tuncode,tun.tunname,cun.cuncode,cun.cunname,town.towncode,town.townname
from AD_TUN_B tun
left join AD_CUN_B cun on tun.cuncode=cun.cuncode
left join AD_TOWN_B town on cun.towncode=town.towncode
</select>
3.返回结果,用resultMap的类型接就可以,自动填充
List<AdTownB> list= commMapper.getThreelevelTown();

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)