mybatis 嵌套查询 学习记录

 

     在学习mybatis时用到了一个嵌套循环查询,其实还是挺简单的(不过我不会) 

     查询省市区,

     要求查出所有省里面有对应的市,市里面有对应的区

     数据格式要求类似这样的

    

     

            {"citys":  [    {"areas":[ {"acode":"110101","aid":1,"aname":"东城区"} ]  ,

                               "ccode":"110100","cid":520,"cname":"北京市"}

                          ],

             "pcode":"110000","pid":78,"pname":"北京市"}...

    ]


然后就百度了 然后就弄成这样了

  <resultMap id="proviceResultMap" type="com.yinlian.api.app.dto.Api_ProvinceDto">        
         <id property="pid" column="pid" />
        <result property="pname" column="pname" />
        <result property="pcode" column="pcode" />
                
        <collection property="citys"  ofType="com.yinlian.api.app.dto.Api_CityDto"> 
        <id property="cid" column="cid" />
             <result property="cname" column="cname" />
             <result property="ccode" column="ccode" />   
                  
             <collection property="areas" ofType="com.yinlian.api.app.dto.Api_AreaDto" >
          <id property="aid" column="aid" />
       <result property="aname" column="aname" />
       <result property="acode" column="acode" />
             </collection>
        </collection>  
    </resultMap>
    


    <select id="getplaces"  resultMap="proviceResultMap">
       select p.id as pid,p.Name as pname,p.code as pcode,
       c.id as cid,c.name as cname,c.code as ccode, 
       a.id as aid, a.name as aname,a.code as acode
       from province p left join city c on p.code=c.ProvinceCode
       left join area a on c.code=a.citycode       
    </select>

dto格式就不给了 

MyBatis关联查询是指在查询数据库时,通过配置映射文件,将多个表之间的关联数据查询出来并进行组合。可以使用嵌套结果映射或嵌套查询来处理关联查询。 在嵌套结果映射中,可以使用\<resultMap>来定义映射关系,并使用\<association>来设置关联对象。例如,可以定义一个resultMap来映射Classes和Teacher表之间的关联关系,然后通过联表查询将两个表的数据关联起来。 另一种方式是使用嵌套查询,即在映射文件中通过\<select>标签设置嵌套查询语句来获取关联数据。通过联表查询获取到的数据可以作为嵌套查询的参数,从而获取到关联数据。 以上就是MyBatis关联查询的基本概念和使用方式。可以根据具体的需求选择合适的方式进行关联查询操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [SSM框架的学习与应用-Java EE企业级应用开发学习记录(第四天)Mybatis的关联映射和缓存机制](https://download.csdn.net/download/m0_53659738/88253127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [mybatis之关联查询](https://blog.csdn.net/faramita_of_mine/article/details/122202515)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值