您的位置:宽带测速网 > 编程知识 > MyBatis中怎么进行一对一关联查询

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

2025-06-23 19:43来源:互联网 [ ]

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

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

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

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

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