Mybatis中的一对一关联查询
问题:
查询一条订单Order,同时关联查询该订单的User信息。
1、方法一,使用resultType
新建OrderUser的pojo,继承自Order。
这样这个pojo的类就有了我们想要查询的各个字段。
public class OrderUser extends Order {
private String username;
private String address;
// get, set
}
编写映射语句:
<!-- 一对一关联查询,使用resultType -->
<select id="getOrderUser" resultType="orderuser">
SELECT
o.`id`,
o.`user_id` as userId,
o.`number`,
o.`createtime`,
o.`note`,
u.`username`,
u.`address`
FROM `order` o
LEFT JOIN `user` u
ON u.id = o.`user_id`
</select>
测试程序:
@Test
public void testGetOrderUser() {
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSessionFactory().openSession(