Mybatis collection 使用的注意點


mybatis  的一對多

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<mapper namespace="com.ly.fw.dao.OrderDAO">
	<resultMap type="com.ly.fw.entity.Order" id="order">
		<id column="id" property="id" />  
        <result column="orderId" property="orderId" /> 
        <result column="user" property="user" />  
        <result column="address" property="address" />    
        <result column="tel" property="tel" />
        <result column="code" property="code" />   
        <result column="orderPrice" property="orderPrice" /> 
        <result column="transNum" property="transNum" /> 
   		<result column="status" property="status" /> 
   		<result column="time" property="time" /> 
   		<collection property="productList"  column="orderId"  resultMap="opro"/>  
	</resultMap>
	<resultMap type="com.ly.fw.entity.OrderProduct" id="opro">
		<id column="opid" property="opId" />  
        <result column="orderId" property="orderId" /> 
        <result column="productId" property="productId" />  
        <result column="count" property="count" />    
        <result column="price" property="price" />
       	<result column="size" property="size" />
	</resultMap>

  <select id="getAll" resultMap="order">
        select o.*,p.* from `order` as o, order_product as p where o.orderId=p.orderId order by o.`time` desc limit #{start},#{end}

    </select>
</mapper>

  實體類中:

 

    private long id ;
    private String orderId ;//訂單id
    private String user ;//用戶
    private String address ;//地址
    private String tel ;//電話
    private String code ;//郵編
    private String orderPrice ;//訂單金額
    private String transNum;
    private int status;//狀態。
    private Date time;//訂單時間
    
    private List<OrderProduct> productList;// 一對多

  正常情況這樣是直接能返會集合中的數據的。但是今天遇到個問題是返還的集合中始終只有一條數據。數據庫中返回應該不只一條.

查了半天資料發現:兩張表的主鍵名稱不能一樣,我就是由於兩張表的主鍵 都是 “id”  所以返回只有一條數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM