您现在的位置是:主页 > news > 中山市政府网站建设/郑州seo优化公司

中山市政府网站建设/郑州seo优化公司

admin2025/5/3 19:54:48news

简介中山市政府网站建设,郑州seo优化公司,西安市建设工程信息网诚信平台官网,最新今日头条2019独角兽企业重金招聘Python工程师标准>>> 一般情况下使用三张表,用户表user、角色表role、权限表permission 表结构及关系如下图 Hibernate对应的pojo如下 user package com.shiro.pojo;import java.util.HashSet; import java.util.List; import jav…

中山市政府网站建设,郑州seo优化公司,西安市建设工程信息网诚信平台官网,最新今日头条2019独角兽企业重金招聘Python工程师标准>>> 一般情况下使用三张表,用户表user、角色表role、权限表permission 表结构及关系如下图 Hibernate对应的pojo如下 user package com.shiro.pojo;import java.util.HashSet; import java.util.List; import jav…

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一般情况下使用三张表,用户表user、角色表role、权限表permission

 

表结构及关系如下图

165516_iFm1_3234821.png

Hibernate对应的pojo如下

user

package com.shiro.pojo;import java.util.HashSet;
import java.util.List;
import java.util.Set;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import javax.persistence.Transient;@Entity
@Table(name="t_user")
public class User {private Integer id;private String username;private String password;private List<Role> roleList;//一个用户具有多个角色@Id@GeneratedValue(strategy=GenerationType.IDENTITY)public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@ManyToMany@JoinTable(name="t_user_role",joinColumns={@JoinColumn(name="user_id")},inverseJoinColumns={@JoinColumn(name="role_id")})public List<Role> getRoleList() {return roleList;}public void setRoleList(List<Role> roleList) {this.roleList = roleList;}@Transientpublic Set<String> getRolesName(){List<Role> roles=getRoleList();Set<String> set=new HashSet<String>();for (Role role : roles) {set.add(role.getRolename());}return set;}}

role

 

package com.shiro.pojo;
import java.util.ArrayList;
import java.util.List;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;@Entity
@Table(name="t_role")
public class Role {private Integer id;private String rolename;private List<Permission> permissionList;//一个角色对应多个权限private List<User> userList;//一个角色对应多个用户@Id@GeneratedValue(strategy=GenerationType.IDENTITY)public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getRolename() {return rolename;}public void setRolename(String rolename) {this.rolename = rolename;}@OneToMany(mappedBy="role")public List<Permission> getPermissionList() {return permissionList;}public void setPermissionList(List<Permission> permissionList) {this.permissionList = permissionList;}@ManyToMany@JoinTable(name="t_user_role",joinColumns={@JoinColumn(name="role_id")},inverseJoinColumns={@JoinColumn(name="user_id")})public List<User> getUserList() {return userList;}public void setUserList(List<User> userList) {this.userList = userList;}@Transientpublic List<String> getPermissionsName(){List<String> list=new ArrayList<String>();List<Permission> perlist=getPermissionList();for (Permission per : perlist) {list.add(per.getPermissionname());}return list;}
}

permission

package com.shiro.pojo;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;@Entity
@Table(name="t_permission")
public class Permission {private Integer id;private String permissionname;private Role role;//一个权限对应一个角色@Id@GeneratedValue(strategy=GenerationType.IDENTITY)public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getPermissionname() {return permissionname;}public void setPermissionname(String permissionname) {this.permissionname = permissionname;}@ManyToOne@JoinColumn(name="role_id")public Role getRole() {return role;}public void setRole(Role role) {this.role = role;}}

user与role是多对多关系  产生t_user_role为中间表

 

转载于:https://my.oschina.net/u/3234821/blog/1823985