zoukankan      html  css  js  c++  java
  • Ibatis collect select用法详解

    问题:之前接触过Ibatis的使用,在做一对多的时候,一般都是手动去填充,非自动让ibatis去填充数据。
    下面就用ibatis的自动填充功能来实现。
    关键使用到collection 标签下的select标签。
    现在有活动表,讨论表
     
    一个活动对应多条讨论,一条讨论属于一个活动
    其中活动表中的activityId与讨论表中的activityId对应,怎么用ibatis查询一条活动的时候,同时将讨论表的数据装进domain中
     
    ActivitysWithBLOBs.java 
    1. 1 privateInteger activityid;
      2 privateList<Discuss> discusslist;//一对多
    Discuss.java
     
    1. 1 privateInteger id;
      2 privateInteger activityid;
      3 privateInteger userid;
      4 privateString time;
      5 privateString content;
    mapper.xml中的配置如下
    1.  1 <resultMaptype="com.travel.model.ActivitysWithBLOBs"id="discussActyWithBLOBs"extends="ResultMapWithBLOBs">
       2 <collectionproperty="discusslist"column="activityId"javaType="ArrayList"ofType="com.travel.model.Discuss"select="getDiscussByActId"/>
       3 </resultMap>
       4 <selectid="getDiscussByActId"resultType="com.travel.model.Discuss"parameterType="java.lang.Integer">
       5 <![CDATA[
       6 SELECT
       7 discuss.id,
       8 discuss.content,
       9 discuss.time,
      10 discuss.userId,
      11 discuss.activityid
      12 FROM
      13 discuss
      14 WHERE
      15 discuss.activityId = #{activityId}
      16 ]]>
      17 </select>
    注意:
    1. collection中的column="activityId"作为select="getDiscussByActId"的参数,在getDiscussByActId中使用为#{activityId}
    2. collection中javaType="ArrayList"或者是javaType="list" 可以不用配置,ofType="com.travel.model.Discuss"必须配置,并且为oftype
    3. select中resultType="com.travel.model.Discuss"parameterType="java.lang.Integer"
     
     
     
     





  • 相关阅读:
    前端内容转译html
    检查数据接口返回数据合法性
    接口数据一致性校验工具
    白盒测试——私有接口测试
    服务端用例设计的思(tao)路!
    服务端的性能测试(一)
    Android移动网络如何抓取数据包
    使用loadrunner进行压力测试遇到的问题总结
    我的天呐,小明竟然被程序猿哥哥追着打
    python处理文本文件
  • 原文地址:https://www.cnblogs.com/wang3680/p/9548308ac1d4d22058a91d44e5b6a857.html
Copyright © 2011-2022 走看看