只需在一对多的 “一” Model中定义一个list集合:
public class SelectQuestion{// 主键IDprivate Integer id;private String name;//选项列表private List<SelectOption> optionList;
//省略了getter和setter方法
然后在一对多的 “一” Mapper定义
<resultMap id="BaseResultMap" type="com.model.SelectQuestion"><id column="id" property="id"/><result column="task_id" property="taskId"/><result column="select_content" property="selectContent"/><collection property="optionList" column="id" ofType="com.model.SelectOption"><id property="id" column="option_id"/><result property="taskId" column="task_id"/><result property="selectId" column="select_id"/><result property="optionFlag" column="option_flag"/><result property="optionContent" column="option_content"/></collection></resultMap><select id="findListSelectQuestionNoAnswer" resultMap="BaseResultMap">SELECT a.*,b.id AS option_id,b.select_id,b.option_flag,b.option_content FROM test_select_question AS aLEFT JOIN test_select_option b ON a.id=b.select_id<include refid="findByQoCondition"></include></select>
注意下,如果2个表的查询,字段相同,请设置别名。
至于mapper.java 就和普通的单表查询一样写了