您可以使用MyBatis中的resultMap来实现将查询结果加入集合。

首先,您需要在User对象的映射文件中定义一个resultMap,其中包含一个集合类型的属性,用于保存课程表的查询结果。例如:

<resultMap id="userResultMap" type="User">
  <id property="id" column="id" />
  <result property="name" column="name" />
  <result property="age" column="age" />

  <!-- 集合属性 -->
  <collection property="courses" ofType="Course">
    <id property="id" column="course_id" />
    <result property="name" column="course_name" />
    <result property="teacher" column="course_teacher" />
  </collection>
</resultMap>

接下来,在查询User对象的SQL语句中使用这个resultMap。例如:

<select id="getUser" resultMap="userResultMap">
  SELECT u.id, u.name, u.age, c.id AS course_id, c.name AS course_name, c.teacher AS course_teacher
  FROM user u
  LEFT JOIN course c ON u.id = c.user_id
  WHERE u.id = #{id}
</select>

这样,在执行查询操作时,MyBatis会将课程表的查询结果自动映射到User对象的courses属性中,形成一个集合。

最后,您可以通过调用User对象的getCourses方法来获取课程表的集合。

User user = sqlSession.selectOne("getUser", 1);
List<Course> courses = user.getCourses();

这样,您就可以将查询结果加入到User对象的集合中了。

MyBatis User对象表内有课程表的集合 如何将查询结果加入集合

原文地址: https://www.cveoy.top/t/topic/i5qU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录