代碼執行sql和數據庫執行sql結果不一致,join mybatis association id 的問題

碰到了在service的代碼中執行sql,和在數據庫客戶端執行sql執行結果不一致的問題。html

sql以下java

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

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.idspa

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

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

</select>htm

在代碼中執行返回的數據和在數據庫客戶端執行的結果不一致。blog

通過檢查後發現是以下的問題ci

<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

相關文章
相關標籤/搜索