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

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    iOS开发---iPhone SDK 包含哪些东西?
    COS-8文件系统
    COS-7设备管理
    COS-6主存管理
    COS-5资源分配与调度
    COS-4进程及进程管理
    饭卡管理系统学生E-R图
    COS-3OS的用户接口
    COS-2OS结构和硬件支持
    计算机操作系统-1绪论
  • 原文地址:https://www.cnblogs.com/wangziqiang/p/6401516.html
Copyright © 2011-2022 走看看