MyBatis的关联查询之自关联

自关联

一、entity实体类

public class City {
private Integer cid;
private String cname;
private Integer pid; //自关联集合 代表的是当前City对象的自己集合
public List<City> childCitys; public Integer getCid() {
return cid;
} public void setCid(Integer cid) {
this.cid = cid;
} public String getCname() {
return cname;
} public void setCname(String cname) {
this.cname = cname;
} public Integer getPid() {
return pid;
} public void setPid(Integer pid) {
this.pid = pid;
} public List<City> getChildCitys() {
return childCitys;
} public void setChildCitys(List<City> childCitys) {
this.childCitys = childCitys;
} @Override
public String toString() {
return "City{" +
"cid=" + cid +
", cname='" + cname + '\'' +
", pid=" + pid +
", childCitys=" + childCitys +
'}';
}
}

二、dao层

//自关联  查询河南省下所有子集
public City getCityAndChild(Integer cid);

三、dao.xml 小配置

<!--自关联-->
<resultMap id="CityAndChildCity" type="com.marketsys.entity.City">
<id column="cid" property="cid"></id>
<result column="cname" property="cname"></result>
<result column="pid" property="pid"></result>
<collection property="childCitys" ofType="com.marketsys.entity.City" select="getCity" column="cid">
<id column="cid" property="cid"></id>
<result column="cname" property="cname"></result>
<result column="pid" property="pid"></result>
</collection>
</resultMap>
<select id="getCityAndChild" resultMap="CityAndChildCity">
select * from city where cid=#{cid}
</select>
<select id="getCity" resultMap="CityAndChildCity">
select * from city where pid=#{cid}
</select>

四、test测试类

SqlSession sqlSession= MybatisUtil.getSqlSession();
URoleTestDao mapper=sqlSession.getMapper(URoleTestDao.class); //自关联
@Test
public void test4(){
City city = mapper.getCityAndChild(410000);
System.out.println(city.toString());
}

最新文章

  1. 终于遇到app不兼容,你遇到了么?
  2. Jquery通过Ajax方式来提交Form表单
  3. 你必须知道的.NET之特性和属性(转)
  4. Sql 常见面试题
  5. android从资源文件中读取文件流显示
  6. 在xml中添加array
  7. Shell教程2-变量
  8. UVA 12897 Decoding Baby Boos 暴力
  9. ASP.NET MVC:多模板支持
  10. 微通道产品经理Grover采访:美国的微通道设计
  11. Android 4.4 KitKat NotificationManagerService使用具体解释与原理分析(一)__使用具体解释
  12. 【java】内存流:java.io.ByteArrayInputStream、java.io.ByteArrayOutputStream、java.io.CharArrayReader、java.io.CharArrayWriter
  13. 炫酷线条动画--svg
  14. MYSQL时间盲住
  15. 关于MongoDB数据库的日志解析
  16. All about Using Burp Suite
  17. ModelSerializer Meta设置
  18. STM32F407 ------ 使用定时器实现精确延时
  19. 配置一个 Confluence 6 环境
  20. Inside The C++ Object Model(三)

热门文章

  1. python 基础学习笔记(8)--装饰器
  2. windows的两种sshd服务器安装
  3. mysql数据库创建用户、赋权、修改用户密码
  4. BitMap原理
  5. Mysql数据基本操作(增、删、改、查)
  6. Java入门系列之包装类(四)
  7. 【nodejs原理&amp;源码赏析(4)】深度剖析cluster模块源码与node.js多进程(上)
  8. 阿里面试实战题1----TreeSet,HashSet 区别
  9. Dynamics 365触发Microsoft Flow自动生成PDF并作为附件送邮件
  10. Command CompileSwiftSources failed with a nonzero exit code