1. 程式人生 > ><resultMap>中 <collection>的使用

<resultMap>中 <collection>的使用

nts bat 邏輯 oftype left join param question 答案 div

public class Question implements Serializable {
   
    private int id;                 //問題Id
    private int accountId;     //用戶id
    private String content;    //問題
    private Date createTime;
    private String createBy;
    private Date updateTime;
    private String updateBy;
    private int status;        //
問題狀態 0:邏輯刪除,1:未回答,2:已回答   private List<Answer> answers; //註意這個屬性 }
public class Answer implements Serializable{
    
    private int id;    //答案Id
    private int questionId;    //問題Id 
    private int managerId;   //回復者Id(默認管理員)
    private String content;   //回復內容
    private Date createTime; //
回復時間 private String createBy; private Date updateTime; private String updateBy; private int status; }

mybatis中的查詢語句

<select id="showAnswers" resultMap="linkedResultMap"  parameterType="int">
        SELECT 
            a.id,a.`questionId`,a.`content` AS answer,a.`createTime` as aCreateTime,a.`managerId`,
            q.id,q.`accountId`,q.`content` AS question,q.`status`,q.`createTime` as qCreateTime
        FROM 
            answers AS a 
        LEFT JOIN     
            questions AS q 
        ON     
            q.`id` = a.`questionId` 
        WHERE 
            q.`status` = 2 
        AND 
            q.`accountId`=#{acconutId} ;
    
</select> <resultMap type="entity.Question" id="linkedResultMap" > <!-- 註意ID的對應 --> <id property="id" column="id"/> <result property="accountId" column="accountId"/> <result property="content" column="question"/> <result property="status" column="status"/> <result property="createTime" column="qCreateTime"/> <collection property="answers" ofType="entity.Answer"> <!-- property指 Answer類中的屬性, column指數據庫中的字段名--> <id property="id" column="id"/> <result property="questionId" column="questionId"/> <result property="managerId" column="managerId"/> <result property="content" column="answer"/> <result property="createTime" column="aCreateTime"/> </collection> </resultMap>

正確返回。

<resultMap>中 <collection>的使用