一.当成员变量中有List这样的成员变量
1.javabean
public class User {
private Long userId;
private String phone;
private String username;
private List roles;
}
2.resultMap
备注:如果是int
int
3.sql
SELECT a.user_id,a.phone,a.username,c.role as roles
FROM b_user a , b_user_role b , b_role c
WHERE a.user_id = b.user_id AND b.role_id = c.role_id and a.phone = #{phone,jdbcType=VARCHAR}
二 .当成员变量与一个是List的时候
1.javabean
User.java
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address;
private List<Orders> orders;
Orders.java
private Integer id;
private Integer userId;
private String number;
private Date createtime;
2.resultMap
3.sql
直接查出来,有的字段就可以对应封装
<select id="getUserAndOrdersByUserId" resultMap="getUserAndOrdersByUserIdMap">
select `user`.id
userid,`user`.username,orders.id oid,orders.number from `user`
LEFT JOIN orders on `user`.id=orders.user_id
where `user`.id=#{id}
</select>