java - Mybatis 一对多怎么映射
本文介绍了java - Mybatis 一对多怎么映射的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
比如有一个实体类
public class AnswerDto{ //一个回复的类,一个问题可能会有多个回复
int id;
int askId;//问题id
List<String> answers; //回复的列表
}
我原本这么写,但是是错的 T0T, 应该如何将content映射到List<String>
<select id="getAns" parameterType="int" resultMap="uiy">
select
id,
ask_id AS "askId",
content
from t_answer where ask_id = #{_parameter}
</select>
<resultMap type="AnswerDto" id="uiy">
<id property="id" column="id"/>
<result property="askId" column="askId" />
<collection property="ls" ofType="string">
<constructor>
<arg column="content"/>
</constructor>
</collection>
</resultMap>
解决方案
mybatis是根据<id>
标签确定集合映射关系的, 如果一定要用你这个表的话可以这样映射
<id column="askId" property="askId" />
<result column="id" property="id"/>
<collection property="answers" ofType="java.lang.String" javaType="java.util.List">
<result column="content" />
</collection>
这篇关于java - Mybatis 一对多怎么映射的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文