记录一次mabatis 查询不到数据问题

Posted thinkingandworkinghard

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录一次mabatis 查询不到数据问题相关的知识,希望对你有一定的参考价值。

     原来写的mapper方法:

   

List<InterCityTeam> queryTeamsByParam(@Param("cityId") Integer cityId,
                               @Param("supplierId") Integer supplierId,
                               @Param("teamId")Integer teamId,
                               @Param("teamIdList")List<Integer> teamIdList,
                                      @Param("cityIds") Set<Integer> cityIds,
                                      @Param("supplierIds") Set<Integer> supplierIds);

 

对应的方法:

 

  <select id="queryTeamsByParam" resultMap="BaseResultMap"   >
    select
    <include refid="Base_Column_List" />
    from inter_city_team
    where  1=1
    <if test="cityId != null" >
      AND city_id = #{cityId,jdbcType=INTEGER}
    </if>

    <if test="supplierId != null" >
      and supplier_id = #{supplierId,jdbcType=INTEGER}
    </if>

    <if test="teamId != null" >
      and id = #{teamId,jdbcType=INTEGER}
    </if>

    <if test="teamIdList != null and teamIdList.size() > 0" >
      and id in
      <foreach collection="teamIdList" open="(" close=")" item="id" separator="," >
        #{id}
      </foreach>
    </if>
 <if test="cityIds != null and cityIds.size() > 0" >
and city_id in
<foreach collection="cityIds" open="(" close=")" item="cityId" separator="," >
#{cityId}
</foreach>
</if>


<if test="supplierIds != null and supplierIds.size() > 0" >
and supplier_id in
<foreach collection="supplierIds" open="(" close=")" item="supplierId" separator="," >
#{supplierId}
</foreach>
</if>

ORDER BY update_time DESC
</select>

    然后发现当传入cityId时候死活出不来数据,最后没办法就一直调试。最后发现把cityId换个别名就可以了。猜测是不是和我在force里面定义的item也叫cityId 有关。

   

  <select id="queryTeamsByParam" resultMap="BaseResultMap"   >
    select
    <include refid="Base_Column_List" />
    from inter_city_team
    where  1=1
    <if test="cityIdParam != null" >
      AND city_id = #{cityIdParam,jdbcType=INTEGER}
    </if>

    <if test="supplierId != null" >
      and supplier_id = #{supplierId,jdbcType=INTEGER}
    </if>

    <if test="teamId != null" >
      and id = #{teamId,jdbcType=INTEGER}
    </if>

    <if test="teamIdList != null and teamIdList.size() > 0" >
      and id in
      <foreach collection="teamIdList" open="(" close=")" item="id" separator="," >
        #{id}
      </foreach>
    </if>


    <if test="cityIds != null and cityIds.size() > 0" >
      and city_id in
      <foreach collection="cityIds" open="(" close=")" item="cityId" separator="," >
        #{cityId}
      </foreach>
    </if>


    <if test="supplierIds != null and supplierIds.size() > 0" >
      and supplier_id in
      <foreach collection="supplierIds" open="(" close=")" item="supplierId" separator="," >
        #{supplierId}
      </foreach>
    </if>

    ORDER BY update_time DESC
  </select>

 

以上是关于记录一次mabatis 查询不到数据问题的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot | 整合通用Mabatis 分页插件PageHelper

记录一次 sql在数据库可以查到 mybatis代码查不到的问题

mabatis 字段类型Data相关

MaBatis 4

ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段

提效小技巧——记录那些不常用的代码片段