zoukankan      html  css  js  c++  java
  • mybatis 使用collection 标签实现级联查询

    1、业务需求 例如查询省市县 分别在不同的三个表中存储 省表,市表,县表

    根据省的id 查询一个对象 包含省市县的内容

    分别写三个VO对象     省Vo(包含市Volist)  市Vo(包含县VoList)   县Vo

    Mpper文件:

    <resultMap id=“shengMap” type=“shengVo”>

      <id column="id" jdbcType="INTEGER" property="id" />
       <result column="sheng_code" jdbcType="VARCHAR" property="shengCode" />

       <result column="sheng_name" jdbcType="VARCHAR" property="shengName" />  

      <collection property="shiVoList"  ofType="shiVo"   select="selectShiByShengID" column="id"/>

    </resultMap>

    <resultMap id=“shiMap” type=“shiVo”>

      <id column="id" jdbcType="INTEGER" property="id" />
      <result column="sheng_id" jdbcType="INTEGER" property="shengId" />
       <result column="shi_code" jdbcType="VARCHAR" property="shiCode" />

       <result column="shi_name" jdbcType="VARCHAR" property="shiName" />  

      <collection property="xianVoList"  ofType="shiVo"   select="selectXianByShiID" column="id"/>

    </resultMap>

    <resultMap id=“xianMap” type=“xianVo”>

      <id column="id" jdbcType="INTEGER" property="id" />
      <result column="shiId" jdbcType="INTEGER" property="shiId" />
       <result column="xian_code" jdbcType="VARCHAR" property="xianCode" />

       <result column="xian_name" jdbcType="VARCHAR" property="xianName" />  

    </resultMap>

    <sql id="sheng_column">
      id, sheng_code,sheng_name
    </sql>

    <sql id="shi_column">
      id, sheng_id,shi_code,shi_name
    </sql>

    <sql id="xian_column">
      id, shi_id,xian_code,xian_name
    </sql>

    <select id="selectShengList"   resultMap="shengMap" ParameterType="int">

      select 

        <include refid="sheng_column"/>

      from  省表

           where id=#{id}

    </select>

    <select id="selectShiByShengID"  resultMap="shiMap" ParameterType="int">

       select 

        <include refid="shi_column"/>

      from  市表

           where sheng_id=#{id}

    </select>

    <select id="selectXianByShiID"  resultMap="shiMap" ParameterType="int">

       select 

        <include refid="xian_column"/>

      from  县表

           where shi_id=#{id}

    </select>

  • 相关阅读:
    java.lang.ClassCastException: java.util.HashMap$Values cannot be cast to java.util.List 转换异常
    React Swiper轮播图(二)
    超详细带你入门开发一个超实用的浏览器插件
    手臂太细如何增加纬度?这5个手臂锻炼动作,让你的手臂变粗壮
    2021百度世界大会精华总结(AI应用向)
    1、saltstack 安装部署
    MySQL的varchar(10)能存多少个汉字
    学习资料总结
    基于Spark的数据工厂(Data Factory):从设计到实现
    IntelliJ IDEA创建maven web项目(IDEA新手适用)
  • 原文地址:https://www.cnblogs.com/hxd9588/p/15331142.html
Copyright © 2011-2022 走看看