项目中处理用户与角色的关系

原创 2016年08月31日 16:54:58
用户:用户1,用户2
角色:管理员,一般用户

用户与角色的关系:多对多
一个用户可以有多个角色;一个角色可以被多个用户使用

用户:user
用户id,名称...
1      用户1
2      用户2

用户角色:user_role
用户id,角色id
1       1
1       2
2       2


角色:role
角色Id,名称
1      管理员
2      一般用户


查询出用户后;需要知道这个用户有哪些角色


1.User

package cn.itcast.nsfw.user.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class User implements Serializable {
	
	private String id;//用户ID
	private String dept;//部门
	private String account;//账号
	private String name;//用户名
	private String password;//密码
	
	private String headImg;//头像
	private boolean gender;//性别
	private String state;//状态
	private String mobile;//手机号
	private String email;//电子邮箱
	private Date birthday;//生日
	private String memo;//描述
	
	private List<UserRole> userRoles;//用户角色
	
	//用户状态
	public static String USER_STATE_VALID = "1";//有效
	public static String USER_STATE_INVALID = "0";//无效
	
	public User() {
	}
	public User(String id, String dept, String account, String name, String password, String headImg, boolean gender, String state, String mobile, String email, Date birthday, String memo) {
		this.id = id;
		this.dept = dept;
		this.account = account;
		this.name = name;
		this.password = password;
		this.headImg = headImg;
		this.gender = gender;
		this.state = state;
		this.mobile = mobile;
		this.email = email;
		this.birthday = birthday;
		this.memo = memo;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getDept() {
		return dept;
	}
	public void setDept(String dept) {
		this.dept = dept;
	}
	public String getAccount() {
		return account;
	}
	public void setAccount(String account) {
		this.account = account;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getHeadImg() {
		return headImg;
	}
	public void setHeadImg(String headImg) {
		this.headImg = headImg;
	}
	public boolean isGender() {
		return gender;
	}
	public void setGender(boolean gender) {
		this.gender = gender;
	}
	public String getState() {
		return state;
	}
	public void setState(String state) {
		this.state = state;
	}
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String getMemo() {
		return memo;
	}
	public void setMemo(String memo) {
		this.memo = memo;
	}
	public List<UserRole> getUserRoles() {
		return userRoles;
	}
	public void setUserRoles(List<UserRole> userRoles) {
		this.userRoles = userRoles;
	}
}

2.UserRole

package cn.itcast.nsfw.user.entity;

import java.io.Serializable;

public class UserRole implements Serializable {

	private UserRoleId id;

	public UserRole() {
	}

	public UserRole(UserRoleId id) {
		this.id = id;
	}

	public UserRoleId getId() {
		return id;
	}

	public void setId(UserRoleId id) {
		this.id = id;
	}
	
	
}

3.UserRoleId

package cn.itcast.nsfw.user.entity;

import java.io.Serializable;

import cn.itcast.nsfw.role.entity.Role;

public class UserRoleId implements Serializable {

	private Role role;
	private String userId;
	
	public UserRoleId() {
	}
	public UserRoleId(Role role, String userId) {
		this.role = role;
		this.userId = userId;
	}
	public Role getRole() {
		return role;
	}
	public void setRole(Role role) {
		this.role = role;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((role == null) ? 0 : role.hashCode());
		result = prime * result + ((userId == null) ? 0 : userId.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		UserRoleId other = (UserRoleId) obj;
		if (role == null) {
			if (other.role != null)
				return false;
		} else if (!role.equals(other.role))
			return false;
		if (userId == null) {
			if (other.userId != null)
				return false;
		} else if (!userId.equals(other.userId))
			return false;
		return true;
	}
	
}

4.User.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
	<class name="cn.itcast.nsfw.user.entity.User" table="user">
		<id name="id" type="java.lang.String">
			<column name="id" length="32" />
			<generator class="uuid.hex" />
		</id>
		<property name="name" type="java.lang.String">
			<column name="name" length="20" not-null="true" />
		</property>
		<property name="dept" type="java.lang.String">
			<column name="dept" length="20" not-null="true" />
		</property>		
		<property name="account" type="java.lang.String">
			<column name="account" length="50" not-null="true" />
		</property>
		<property name="password" type="java.lang.String">
			<column name="password" length="50" not-null="true" />
		</property>
		<property name="headImg" type="java.lang.String">
			<column name="headImg" length="100" />
		</property>
		<property name="gender" type="java.lang.Boolean">
			<column name="gender" />
		</property>
		<property name="email" type="java.lang.String">
			<column name="email" length="50" />
		</property>
		<property name="mobile" type="java.lang.String">
			<column name="mobile" length="20" />
		</property>
		<property name="birthday" type="java.util.Date">
			<column name="birthday" length="10" />
		</property>
		<property name="state" type="java.lang.String">
			<column name="state" length="1" />
		</property>
		<property name="memo" type="java.lang.String">
			<column name="memo" length="200" />
		</property>
	</class>

</hibernate-mapping>
	

5.UserRole.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
	<class name="cn.itcast.nsfw.user.entity.UserRole" table="user_role">
		<composite-id name="id" class="cn.itcast.nsfw.user.entity.UserRoleId">
			<key-many-to-one name="role" lazy="false" class="cn.itcast.nsfw.role.entity.Role">
				<column name="role_id"></column>
			</key-many-to-one>
			<key-property name="userId" type="java.lang.String">
				<column name="user_id" length="32"></column>
			</key-property>
		</composite-id>
	</class>

</hibernate-mapping>
	



版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

用户、角色、权限表的关系

一,各个表格 1、用户表 CREATE TABLE `t_user` (   `id` varchar(40) NOT NULL,   `username` varchar(2...

写用户与角色的关系

角色与权限:多对多 一个角色可以有多个权限,一个权限可以被多个角色使用。 那我们下面就来使用我们完成的角色。 我们先来看一下需求,记不记得之前的用户编辑界面: 可以看到,我们注册用...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

web项目用户角色管理

最近更新时间:2017年7月6日13:14:49     任何一个web项目,按照是否有会员(用户)登陆划分,可以分为有会员网站和无会员网站,无会员网站结构简单内容单一,有会员网站结构复杂内容丰富。...

用户、角色和权限关系

一.引言        因为做过的一些系统的权限管理的功能虽然在逐步完善,但总有些不尽人意的地方,总想抽个时间来更好的思考一下权限系统的设计。        权限系统一直以来是我...

Jenkins配置基于角色的项目权限管理

本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理。 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Str...

【SSH项目实战】国税协同平台-13.用户与角色关系

上一次写到角色权限管理,我们设定的角色是要使用的,我们接下来写用户与角色的关系。 角色与权限:多对多 一个角色可以有多个权限,一个权限可以被多个角色使用。 那我们下面就来使用我们完成的角色。 我...

【SSH项目实战】国税协同平台-13.用户与角色关系

角色与权限:多对多 一个角色可以有多个权限,一个权限可以被多个角色使用。 那我们下面就来使用我们完成的角色。 我们先来看一下需求,记不记得之前的用户编辑界面: 可以看到,我们注册用...

Oracle用户管理

一、用户的概念   用户,即user,通俗的讲就是访问oracle数据库的“人”。在oracle中,可以对用户的各种安全参数进行控制,以维护数据库的安全性,这些概念包括模式(schema)、权限、角...

sql2008用户、角色、架构关系

MS SQL2005对2000进行了很大的改进,而用户关系这部分也变得相当复杂了,很多朋友都对此一知半解!下面,我将把我应用中总结的和大家分享下,先从概念入手,希望对不理解的朋友有点提示。 今天我们要...

Oracle 用户、角色与权限管理

Oracle 用户 权限 角色 管理
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)