首页 > 其他 > 详细

mybatis多对多

时间:2019-12-15 18:56:14      阅读:84      评论:0      收藏:0      [点我收藏+]

这里我们以用户 user 表和 角色role 表为例,假定一个用户能被分配成多重角色,而一种角色也能分给多个用户,故用户和角色构成多对多的关系

需求:给定角色id,查询这个角色所属的所有用户信息

①、在数据库中建立相应的表

  user 表

技术分享图片

  role 表

技术分享图片

 

 

 两者之间的关联表user_role 

技术分享图片

 

 

 

public class User {
    //用户ID
    public int id;
    //用户姓名
    public String username;
    //用户性别
    public String sex;
    //一个用户能被分配多种角色
    public List<Role> roles;
    
    //set,get......
}
public class Role {
	public int id;
	public String name;
	//一种角色包含多个用户
	public List<User> users;

	//set,get......

}

 中间表

public class User_Role {
    private User user;
    private Role role;
    //set,get
}

创建 UserMapper 接口和 UserMapper.xml 文件

UserMapper 接口

public interface UserMapper {
	
	//给定一个角色id,要得到具有这个角色的所有用户信息
	public List<User> getUserByRoleId(int roleId);

}

UserMapper.xml 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="many.to.many.mapper.UserMapper">
   <resultMap type="com.ys.po.User" id="getUserMap">
	<id column="id" property="id"/>
	<result column="username" property="username"/>
	<result column="sex" property="sex"/>
  </resultMap>
  <select id="getUserByRoleId" resultMap="getUserMap"> 
    select * from user_role ur,user u where ur.user_id=u.id and ur.role_id=#{id}
  </select>
</mapper>

  

  

mybatis多对多

原文:https://www.cnblogs.com/yscec/p/12045239.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!