zoukankan      html  css  js  c++  java
  • 代码执行sql和数据库执行sql结果不一致,join mybatis association id 的问题

    碰到了在service的代码中执行sql,和在数据库客户端执行sql执行结果不一致的问题。

    sql如下

    <select id="getFilterByExample" resultMap="PindanExtendResultMap">

    select p.*,u.realname realname,a.nickname nickname from roadshow.tb_dxzf_pindan p 

    left JOIN roadshow.tb_user u on p.owner_id = u.id

    left JOIN roadshow.tb_customer c on u.mobile = c.mobile

    left JOIN roadshow_security.admin_user a on c.sales_id = a.id

    </select>

    在代码中执行返回的数据和在数据库客户端执行的结果不一致。

    经过检查后发现是如下的问题

    <resultMap id="PindanExtendResultMap"

    type="com.bruce.geekway.model.data.PindanExtend">

    <result column="realname" property="realname" jdbcType="VARCHAR" />

    <result column="nickname" property="nickname" jdbcType="VARCHAR" />

    <result column="id" property="pindanId" jdbcType="INTEGER" /> // 这一行,如果没有,就会出现问题。

    <association property="pinDan" column="id" javaType="com.bruce.geekway.model.PinDan" >

    <id column="id" property="id" jdbcType="INTEGER" />

      <result column="listco_code" property="listcoCode" jdbcType="VARCHAR" />

      <result column="listco_name" property="listcoName" jdbcType="VARCHAR" />

    </association>

    </resultMap>

    model如下

    public class PindanExtend {

    public PinDan pinDan;

    public Integer pindanId; // 需要添加association的model的id,即PinDan的id,否则会出错。

    public String realname;

    public String nickname;

    }

     

    参考 : http://www.cnblogs.com/zemliu/archive/2013/08/16/3263053.html

    http://blog.csdn.net/sailei/article/details/51158462

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    HDU 5313 bitset优化背包
    bzoj 2595 斯坦纳树
    COJ 1287 求匹配串在模式串中出现的次数
    HDU 5381 The sum of gcd
    POJ 1739
    HDU 3377 插头dp
    HDU 1693 二进制表示的简单插头dp
    HDU 5353
    URAL 1519 基础插头DP
    UVA 10294 等价类计数
  • 原文地址:https://www.cnblogs.com/wangziqiang/p/6401516.html
Copyright © 2011-2022 走看看