用sql直接查数据库有多条 在项目中mybatis嵌套查询查出来只有1条是为什么

时间:2021-10-10 22:29:14
j

public PageInfo<MourningRecord> getMourningRecordPageInfo(Map<String, Object> paramMap,int pageNum,int pageSize,String order){
PageHelper.startPage(pageNum, pageSize);//设置分页
PageHelper.orderBy(order);
List<MourningRecord> list=mourningRecordMapper.getMourningRecordListMap(paramMap);
PageInfo<MourningRecord> page=new PageInfo<MourningRecord>(list);
return page;

}


<select id= "getMourningRecordListMap" resultMap="MourningRecordListMapper">
select c.`name`,c.`schedule_flag`,c.`cremation_time`,c.`age`,c.`sex`,b.`name` as bname,m.`begin_time` from y_mourning_record m,y_commission_order c,ba_mourning b where m.commission_order_id = c.id and m.mourning_id=b.id 
<if test="flag!=null and flag!=''">
and m.flag=#{flag}
</if>
<if test="beginDate!=null and beginDate!='' and endDate!=null and endDate!=''">
and ( ( m.begin_time &gt;= #{beginDate} and m.begin_time &lt;= #{endDate} ) 
or ( m.end_time &gt;= #{beginDate} and m.end_time &lt;= #{endDate} ) 
or ( m.begin_time &lt;= #{beginDate} and m.end_time &gt;= #{endDate} ))
</if>
<if test="mourningbeginDate !=null and mourningbeginDate != '' and mourningendDate !=null and mourningendDate != '' ">
and ( m.begin_time &gt;=#{mourningbeginDate} )
and ( m.begin_time &lt;= #{mourningendDate} )
</if>
<if test="searchType !=null and searchType != '' and searchType=='1'.toString() ">
and c.name like CONCAT('%', #{searchVal},'%')
</if>
<if test="searchType !=null and searchType != '' and searchType=='2'.toString() ">
and b.name like CONCAT('%', #{searchVal},'%')
</if>
</select>

      <resultMap id="MourningRecordListMapper" type="MourningRecord">
        <id property="id" column="id"  />
        <result property="mourningId" column="mourning_id"  />
        <result property="beginTime" column="begin_time"  />
        <result property="createUserId" column="create_user_id"  /> -->
        <result property="commissionOrderId" column="commission_order_id"  />
        <result property="flag" column="flag"  />
        <association property="order" javaType="CommissionOrder">
    <id property="id" column="id"/>
        <result property="name" column="name" />
        <result property="cardCode" column="card_code" />
        <result property="sex" column="sex"  />
        <result property="cremationTime" column="cremation_time"  />
         <result property="age" column="age"  />
         <result property="scheduleFlag" column="schedule_flag"  />
    </association>
        <association property="mourning" javaType="Mourning">
         <id property="id" column="id"  />
        <result property="name" column="bname" />
        </association>
     </resultMap>
 
navicat结果 用sql直接查数据库有多条 在项目中mybatis嵌套查询查出来只有1条是为什么
项目显示结果 用sql直接查数据库有多条 在项目中mybatis嵌套查询查出来只有1条是为什么
奇怪的是page里面的total条数有4条 但是page里面的list只有一个对象 用sql直接查数据库有多条 在项目中mybatis嵌套查询查出来只有1条是为什么

6 个解决方案

#1


....................

#2


看一下pageNum, pageSize这两个参数是否是正确的。

#3


楼主解决没有,我也遇到了这样的问题。

#4


楼主解决了吗,我也出现了这种错误

#5


 <resultMap id="MourningRecordListMapper" type="MourningRecord">中
你是要出现多个property="order" .
就把  <association   改为<collection 这样才能出现多个order 

#6


后来自己找到了解决办法  就是resultMap 中result属性不能多于你sql中所查的字段。 原因不明

#1


....................

#2


看一下pageNum, pageSize这两个参数是否是正确的。

#3


楼主解决没有,我也遇到了这样的问题。

#4


楼主解决了吗,我也出现了这种错误

#5


 <resultMap id="MourningRecordListMapper" type="MourningRecord">中
你是要出现多个property="order" .
就把  <association   改为<collection 这样才能出现多个order 

#6


后来自己找到了解决办法  就是resultMap 中result属性不能多于你sql中所查的字段。 原因不明