zoukankan      html  css  js  c++  java
  • 记录一次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>
  • 相关阅读:
    Asp.Net服务器Cassini
    Vista系统Administrator帐户的激活与禁用
    SqlServer中的Top * With Ties
    SqlServer建远程服务连接
    SqlServer2005安装成功后补加Sa用户
    列出某个表中所有的列名
    水晶报表周期性打开报表失败
    Asp.net中文cookie的乱码问题
    HTML数据库编程、JavaScript数据库编程
    试图索引的限制
  • 原文地址:https://www.cnblogs.com/thinkingandworkinghard/p/13432730.html
Copyright © 2011-2022 走看看