问题:之前接触过Ibatis的使用,在做一对多的时候,一般都是手动去填充,非自动让ibatis去填充数据。
下面就用ibatis的自动填充功能来实现。
关键使用到collection 标签下的select标签。

现在有活动表,讨论表
 
一个活动对应多条讨论,一条讨论属于一个活动
其中活动表中的activityId与讨论表中的activityId对应,怎么用ibatis查询一条活动的时候,同时将讨论表的数据装进domain中
 

ActivitysWithBLOBs.java 

  1.  privateInteger activityid;
    privateList<Discuss> discusslist;//一对多

Discuss.java

 
  1.  privateInteger id;
    privateInteger activityid;
    privateInteger userid;
    privateString time;
    privateString content;
mapper.xml中的配置如下
  1.  <resultMaptype="com.travel.model.ActivitysWithBLOBs"id="discussActyWithBLOBs"extends="ResultMapWithBLOBs">
    <collectionproperty="discusslist"column="activityId"javaType="ArrayList"ofType="com.travel.model.Discuss"select="getDiscussByActId"/>
    </resultMap>
    <selectid="getDiscussByActId"resultType="com.travel.model.Discuss"parameterType="java.lang.Integer">
    <![CDATA[
    SELECT
    discuss.id,
    discuss.content,
    discuss.time,
    discuss.userId,
    discuss.activityid
    FROM
    discuss
    WHERE
    discuss.activityId = #{activityId}
    ]]>
    </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"
 
 
 
 

Ibatis collect select用法详解的更多相关文章

  1. java爬取网页内容 简单例子(2)——附jsoup的select用法详解

    [背景] 在上一篇博文java爬取网页内容 简单例子(1)——使用正则表达式 里面,介绍了如何使用正则表达式去解析网页的内容,虽然该正则表达式比较通用,但繁琐,代码量多,现实中想要想出一条简单的正则表 ...

  2. AngularJS select中ngOptions用法详解

    AngularJS select中ngOptions用法详解   一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in a ...

  3. jQuery 事件用法详解

    jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jque ...

  4. SQL中CONVERT()函数用法详解

    SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...

  5. oracle正则表达式regexp_like的用法详解

    oracle正则表达式regexp_like的用法详解 /*ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与IN ...

  6. mysql基础篇 - SELECT 语句详解

    基础篇 - SELECT 语句详解         SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...

  7. Mysql中limit的用法详解

    Mysql中limit的用法详解 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,为我们提供了limit这样一个功能. SELECT * FROM table LIMIT [offset ...

  8. DAX/PowerBI系列 - 查询参数用法详解(Query Parameter)

    PowerBI  - 查询参数用法详解(Query Parameter) 很多人都不知道查询参数用来干啥,下面总结一下日常项目中常用的几个查询参数的地方.(本人不太欢hardcode的东西) 使用查询 ...

  9. Oracle数据库中序列(SEQUENCE)的用法详解

    Oracle数据库中序列(SEQUENCE)的用法详解   在Oracle数据库中,序列的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值.本文我们主要介绍了 ...

随机推荐

  1. beagleboneblack HDMI不能显示

    beagleboneblack  接上HDMI到电视上,没有显示画面 看了资料之后才知道 http://elinux.org/Beagleboard:BeagleBoneBlack_HDMI#Conn ...

  2. 删除cygwin

    由于cygwin 学习了linux 的用户所有者的方式,要删除有一定困难. 所以要右击  然后点 获取管理员所有权  几分钟之后  就可以删了

  3. 旋转图css3

    <!doctype html><html> <head>  <meta charset="UTF-8">  <title> ...

  4. http請求瀏覽器的緩存機制

    轉載自:http://kb.cnblogs.com/page/73901/ 流程 当资源第一次被访问的时候,HTTP头部如下 (Request-Line) GET /a.html HTTP/1.1 H ...

  5. md5 加密模板

    public class MD5Util { public static String getDigestedPassword(String password) throws NoSuchAlgori ...

  6. POJ 3368/RMQ/线段数

    题目链接 /* 给出一段序列,询问[L,R]区间内最大相同数的个数. 用一个很巧妙地方法,转化成求区间内的最大值的问题. RMQ维护区间最大值. MAX处理: */ for(int i=1;i< ...

  7. 最短路<dijk>

    题意: 有n个城市,有m条路,给出每条路的出发和结束的城市及长度,求从第一个城市到最后一个城市的最短路.按格式输出. power oj 2443 题解: 标准dijk算法. #include<c ...

  8. php ajax 下拉加载数据

    视图 <html> <head> <title>健康知识</title> <script type="text/javascript&q ...

  9. oracle10g遇到ORA-16038日志无法归档问题

    SQL> shutdown immediate ORA-01109: 数据库未打开 已经卸载数据库. ORACLE 例程已经关闭. SQL> startup ORACLE 例程已经启动. ...

  10. Linux学习 -- 备份与恢复

    备份 Linux系统需要备份的数据 /root/ /home/ /var/spool/mail /etc/ others 备份策略 完全备份 增量备份 差异备份 备份和恢复命令 dump  resto ...