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

avatar
作者
筋斗云
阅读量:0

在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(); 

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

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!