<resultMap>中 <collection>的使用

public class Question implements Serializable {

    private int id;                 //问题Id
    private int accountId;     //用户id
    private String content;    //问题
    private Date createTime;
    private String createBy;
    private Date updateTime;
    private String updateBy;
    private int status;        //问题状态  0:逻辑删除,1:未回答,2:已回答
   private List<Answer> answers;  //注意这个属性
}        
public class Answer implements Serializable{

    private int id;    //答案Id
    private int questionId;    //问题Id
    private int managerId;   //回复者Id(默认管理员)
    private String content;   //回复内容
    private Date createTime; //回复时间
    private String createBy;
    private Date updateTime;
    private String updateBy;
    private int status;

}    

mybatis中的查询语句

<select id="showAnswers" resultMap="linkedResultMap"  parameterType="int">
        SELECT
            a.id,a.`questionId`,a.`content` AS answer,a.`createTime` as aCreateTime,a.`managerId`,
            q.id,q.`accountId`,q.`content` AS question,q.`status`,q.`createTime` as qCreateTime
        FROM
            answers AS a
        LEFT JOIN
            questions AS q
        ON
            q.`id` = a.`questionId`
        WHERE
            q.`status` = 2
        AND
            q.`accountId`=#{acconutId} ;
    </select>

    <resultMap type="entity.Question" id="linkedResultMap" >  <!-- 注意ID的对应 -->
        <id property="id" column="id"/>
        <result property="accountId" column="accountId"/>
        <result property="content" column="question"/>
        <result property="status" column="status"/>
        <result property="createTime" column="qCreateTime"/>
        <collection property="answers" ofType="entity.Answer">
        <!-- property指 Answer类中的属性, column指数据库中的字段名-->
            <id property="id" column="id"/>
            <result property="questionId" column="questionId"/>
            <result property="managerId" column="managerId"/>
            <result property="content" column="answer"/>
            <result property="createTime" column="aCreateTime"/>
        </collection>
    </resultMap>

正确返回。

时间: 2024-10-05 19:37:09

<resultMap>中 <collection>的使用的相关文章

关于mybatis中mapper文件resultMap中collection的使用

collection的使用有两种resultMap和select,必须手动指定一种 1. 实体类: 1 package com.mrlu.mybatis.domain; 2 3 import java.util.List; 4 5 /** 6 * Created by stefan on 15-12-31. 7 */ 8 public class User { 9 private Integer id; 10 private String name; 11 private List<Accoun

resultMap之collection聚集

<select id="getCarsWithCollection" resultMap="superCarResult"> select c1.carid,c1.cartype,c2.enginetype,c2.enginecylinders from cars c1,cars c2 where c1.carid=c2.carid </select> <resultMap type="tk.mybatis.springboo

JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue

前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的文章,大多都是以罗列记忆点的形式书写的,没有谈论实现细节和逻辑原理.作为个人笔记无可厚非,但是并不利于他人学习.希望能通过这种比较“费劲”的讲解,帮助我自己.也帮助读者们更好地学习Java.掌握Java. 无论你跟我一样需要应聘,还是说在校学生学习Java基础,都对入门和进一步启发学习有所帮助.(关

JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序

前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和ArrayList.HashSet.LinkedList等等.根据核心框架图,相信我们都已经对Collection这个JavaSE中最常用API之一有一个较为全面的认识. 这个学习过程,还可以推及到其他常用开源框架和公司项目的学习和熟悉上面.借助开发工具或说明文档,先是对项目整体有一个宏观的认识,再根

金蝶handler中 collection 代码片段理解

1,AtsOverTimeBillBatchEditHandler中collection的理解 1 SelectorItemCollection selectors = new SelectorItemCollection(); 2 //自定义集合SelectorItemCollection的定义 3 selectors.add(new SelectorItemInfo("id")); //集合selectors中添加id 4 selectors.add(new SelectorIte

mongoengine中collection名字自动生成机制浅探

项目碰到要使用mongodb的场景,以前只听过这一强大的文档数据库,但一直没有真正使用过,参考一下项目中已有的使用代码,是通过import mongoengine这一模块实现python服务对db中collection的增删查改. mongoengine的项目网站http://mongoengine.org 中介绍到: MongoEngine is a Document-Object Mapper (think ORM, but for document databases) for worki

java中Collection框架的讲解

下面要开始java中相关集合框架的学习啦. Are you ready?Let's go~~ 今天要讲解的Java中的Collection框架. 1) 首先查看jdk中Collection类的源码后会发现如下内容: ... * @see AbstractCollection * @since 1.2 */ public interface Collection<E> extends Iterable<E> { // Query Operations 通过查看可以发现Collecti

【Java心得总结五】Java容器中——Collection

在[Java心得总结五]Java容器上——容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库.而在这篇博文中,我想着重对容器类库中的Collection容器做一个着重的探索与总结. Collection:一个独立元素的序列,这些元素都服从一条或多条规则.(注:Collection其实就是将一组数据对象按照一维线性的方式组织起来)List必须按照插入的顺序保存元素,而set不能有重复元素.Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序

Mybatis 高级结果映射 ResultMap Association Collection

作者:ilovejava_2010 MyBatis的创建基于这样一个思想:数据库并不是您想怎样就怎样的.虽然我们希望所有的数据库遵守第三范式或BCNF(修正的第三范式),但它们不是.如果有一个数据库能够完美映射到所有应用程序,也将是非常棒的,但也没有.结果集映射就是MyBatis为解决这些问题而提供的解决方案.例如,我们如何映射下面这条语句? <!-- Very Complex Statement --> <select id="selectBlogDetails"