数据库表:
approve表 id , case_id , approve_type
approve_suggest表 id , approve_id , re , create_time1. 一(approve)对多(approve_suggest)的关系
2. 按照approve_type又可以分为多种approve记录pojo:
ApproveList.java
private String id;
private String approveType;
private List<ApproveContent> appConts;ApproveContent.java
private String id;
private String re;
private Date create_time;Mapper.java
List<ApproveList> queryAllApprove(@Param("caseId")String caseId);怎么写xml。

解决方案 »

  1.   

    搜索mybatis高级查询即可。
      

  2.   

    <!--mybatis进行一对多查询返回结果集-->
    <select id="queryAllApprove" resultMap="ApproveList">  
        select * from approve app, approve_suggest app_s where  app.app_list_id=app_s.approve_id and  app.case_id=#{caseId}  
    </select>  
    <!-- 结果集内容-->  
    <resultMap type="pojo.ApproveList" id="ApproveList">  
    <!--ApproveList实体属性和表对应的字段的映射 -->  
    <id property="id" column="app_list_id"/>  
    <result property="case_id" column="case_id"/> 
    <result property="approveType" column="approveType"/>
    <!-- ApproveList中属性集合的实体与表对应的字段映射 -->  
    <collection property="appConts" ofType="pojo.ApproveContent">  
    <id property="id" column="app_con_id"/> 
    <result property="approve_id " column="approve_id"/>
    <result property="re" column="re"/>
    <result property="create_time" column="create_time"/>  
    </collection>  
    </resultMap>
    两个实体里是不是缺少属性啊,ApproveList里缺了一个case_id属性,ApproveContent里缺少了一个approve_id 属性,没有进行测试,可以试试,不行的话微调一下应该就可以了!
      

  3.   

    有多种审批,每一钟审批有审批的时间和审批的标注,我要查每一种审批的内容。
    查出来这个样子↓↓↓↓↓↓↓
                       approveType1:
                                  approveCont1:  re11 ,time11;
                                  approveCont2:  re12 ,time12;                   approveType2:
                                  approveCont1:  re21 ,time21;
                                  approveCont2:  re22 ,time22;
      

  4.   


    查出来咋成这样子了↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    我写的xml这样的,请问是不是有问题啊,
      

  5.   

    其实你的主查询应该是审批类型 
    用审批类型数据左关联审批明细resultMap 外面还有一层ApproveList
      

  6.   


    查出来咋成这样子了↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    我写的xml这样的,请问是不是有问题啊,

    你的意思是想一次查出来审批的集合、审批信息的集合?下面的应该可以,可以试试!
            <resultMap id="approve" type="pojo.ApproveList" >  
                <id property="id" column="app_list_id"/>  
        <result property="case_id" column="case_id"/> 
        <result property="approveType" column="approveType"/>  
            </resultMap>  
             <!-- 审批类型返回集合 --> 
             <resultMap id="ApproveList" type="pojo.ApproveList" extends="approve">  
                <collection property="appConts" resultMap="appContsList"></collection>  
            </resultMap>  
            <!-- 审批信息返回集合 -->  
            <resultMap id="appContsList" type="pojo.ApproveContent">  
                   <id property="id" column="app_con_id"/> 
    <result property="approve_id " column="approve_id"/>
    <result property="re" column="re"/>
    <result property="create_time" column="create_time"/>   
            </resultMap> 
    <select id="queryAllApprove" resultMap="ApproveList">  
        select * from approve app, approve_suggest app_s where  app.app_list_id=app_s.approve_id and  app.case_id=#{caseId}  
    </select>  
      

  7.   

    http://blog.csdn.net/jiangpeng59/article/details/51339710 按例子抄都不会?
      

  8.   


    我要查的是一个集合  审批列表List<Approve>,每个审批都有对应的审批类型type和审批内容List<ApproveConts>,审批内容ApproveConts包含了审批时间time,审批标记。
    例子都是相当于查一个审批类型的内容,不是所有的审批类型的内容。Approve.java
    private String type;
    private String List<ApproveConts>那些例子只是查询一个Approve的内容,我查的是包含多个Approve的列表。
      

  9.   

    <resultMap type="com.zyxy.vo.CaseProgressListVo" id="ApproveList">
    <id property="id" column="id" />
    <result property="approveType" column="approve_type" />
    <collection property="appConts" javaType="java.util.ArrayList"
    ofType="com.zyxy.common.ProgressContentVO" column="id" select="dosome"></collection>
    </resultMap> <select id="dosome" resultType=""com.zyxy.common.ProgressContentVO"
    parameterType="java.lang.Integer">
    select
    id,
    re,
    create_time as createTime
    from case_approve_suggest a where id =#{id}
    </select> <select id="findDeptById" parameterType="java.lang.Integer"
    resultMap="ApproveList">
    select * from case_approve a where a.id=#{id}
    </select>
      

  10.   


    <resultMap type="com.zyxy.common.vo.CaseProgressListVO" id="approveList">  
      <id property="id" column="id"/>  
      <result property="approveType" column="approve_type"/>
      <collection property="progressCont" javaType="java.util.ArrayList" ofType="com.zyxy.common.vo.ProgressContentVO" column="id" select="queryApproveCont"></collection>  
      </resultMap>
      
      <select id="queryApproveCont" resultType="com.zyxy.common.vo.ProgressContentVO">
       SELECT 
        ,
       create_time createTime
       FROM
       case_approve_suggest
       WHERE
       approve_id=#{approveId}
      </select>
      <select id="queryCaseProgress"  resultMap="approveList">
       SELECT
       ca.id id,
       ca.approve_type approveType 
       FROM 
       case_approve ca
       LEFT JOIN 
       case_request_info cri 
       ON 
       cri.id=ca.request_id 
       WHERE
       ca.case_id=#{caseId} 
       AND 
       cri.request_type=#{requestFlag}
      </select>