springboot + mybatis 双向一对多注解查询

springboot + mybatis 双向一对多注解查询

表结构:

user:
在这里插入图片描述

role:

在这里插入图片描述

1. user 与 role 的entity

public class User implements Serializable {

	private Integer id;

	private String name;

	private Gender gender;

	private List<Role> roleList;
	
	get set ......
}

public class Role implements Serializable {

	private Integer id;

	private String role;

	private User user;
   
    get set ......
}

2.user与role mapper

@Repository
public interface UserMapper {

	@Select("select id,name,gender from mk_user")
	@Results({@Result(id = true, column = "id", property = "id"),
			@Result(column = "name", property = "name"),
			@Result(column = "gender", property = "gender",typeHandler = EnumTypeHandler.class),
			@Result(property = "roleList", column = "id", javaType = List.class, many = @Many(select = "com.demo.mapper.RoleMapper.getRoleByUserId"))})
	List<User> findAll();

	@Select("select id, name from mk_user where id = #{id}")
	@Results({
			@Result(id = true, column = "id", property = "id"),
			@Result(column = "name", property = "name")
			})
	User findByUserId(Integer id);
}

@Repository
public interface RoleMapper {

	@Select("select * from mk_role where user_id = #{userId}")
	@Results({
			@Result(column = "id", property = "id"),
			@Result(column = "role", property = "role")
	})
	List<Role> getRoleByUserId(Integer userId);

	@Select("select * from mk_role")
	@Results({
			@Result(column = "id", property = "id"),
			@Result(column = "role", property = "role"),
			@Result(column = "user_id",property = "user" ,javaType = User.class,one = @One(select = "com.demo.mapper.UserMapper.findByUserId"))
	})
	List<Role> findAll();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值