温馨提示×

MyBatis中怎么进行一对一关联查询

小亿
91
2024-04-08 17:31:40
栏目: 编程语言

在MyBatis中进行一对一关联查询需要使用resultType标签来映射查询结果。以下是一个示例:

  1. 定义两个实体类,例如User和Department,User类中包含一个Department属性,表示用户所属部门。

  2. 编写UserMapper.xml文件,定义一对一关联查询的SQL语句,并使用resultType标签将查询结果映射到User实体类中的Department属性。

<!-- 查询用户信息及其所属部门信息 -->
<select id="getUserWithDepartment" resultType="User">
    SELECT u.*, d.*
    FROM user u
    INNER JOIN department d ON u.department_id = d.id
    WHERE u.id = #{userId}
</select>
  1. 在UserMapper接口中定义getUserWithDepartment方法,方法参数为用户id,并在方法上添加@Select注解来指定调用的SQL语句。
@Select("getUserWithDepartment")
User getUserWithDepartment(Long userId);
  1. 调用getUserWithDepartment方法进行查询,并获取查询结果中的User对象,通过User对象的getDepartment方法获取用户所属部门信息。
User user = userMapper.getUserWithDepartment(userId);
Department department = user.getDepartment();

这样就完成了一对一关联查询,获取了用户信息及其所属部门信息。

0