码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis多对多

时间:2019-12-15 18:33:54      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:code   用户信息   user   app   res   class   多个   name   get   

这里我们以用户 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多对多

标签:code   用户信息   user   app   res   class   多个   name   get   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!