zoukankan      html  css  js  c++  java
  • 权限表设计之代码解析

    在权限表设计中已经说了权限表的结构,在这里我说下代码

    user表

    </pre><pre name="code" class="html">@Entity
    @Table(name="user")
    public class User implements Serializable{
    
    	
        private static final long serialVersionUID = 6177417450707400228L;
    	
    	@Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
        @Column(name="userid",nullable=false)
    	private int userId;
        
    	@Column(name="username")
    	private String userName;
    	
    	@Column(name="userpassword")
        private String userPassword;
    	
        /*
         * cascade:为级联操作,里面有级联保存,级联删除等,all为全部 
         * fetch:载入类型,有lazy和eager二种,
         *   eager为急载入,意为马上载入,在类载入时就载入,lazy为慢载入,第一次调用的时候再载入,因为数据量太大,onetomany一般为lazy
         * mappedBy:这个为manytoone中的对象名,这个不要变哦
         * 
         * <UserRole>:为要获得的mappedBy的类
         */
        @OneToMany(fetch=FetchType.LAZY,mappedBy="user",cascade=CascadeType.ALL)
    	private List<UserRole> listUserRole; 
    	
    	public int getUserId() {
    		return userId;
    	}
    
    	public void setUserId(int userId) {
    		this.userId = userId;
    	}
    
    	public String getUserName() {
    		return userName;
    	}
    
    	public void setUserName(String userName) {
    		this.userName = userName;
    	}
    
    	public String getUserPassword() {
    		return userPassword;
    	}
    
    	public void setUserPassword(String userPassword) {
    		this.userPassword = userPassword;
    	}
    
    	public List<UserRole> getListUserRole() {
    		return listUserRole;
    	}
    
    	public void setListUserRole(List<UserRole> listUserRole) {
    		this.listUserRole = listUserRole;
    	}	
    } 
    

    userrole表

    @Entity
    @Table(name="userrole")
    public class UserRole implements Serializable{
        
    	private static final long serialVersionUID = 6177417450707400228L;
    	
    	@Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
        @Column(name="id",nullable=false)
    	private int id;
    	
    	@ManyToOne(fetch=FetchType.EAGER,cascade=CascadeType.ALL)
    	@JoinColumn(name="userid")
    	private User user;
    	
        @ManyToOne(fetch=FetchType.EAGER,cascade=CascadeType.ALL)
    	@JoinColumn(name="roleid")
    	private Role role;
    	
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	
    	public User getUser() {
    		return user;
    	}
    	public void setUser(User user) {
    		this.user = user;
    	}
    	
    	public Role getRole() {
    		return role;
    	}
    
    	public void setRole(Role role) {
    		this.role = role;
    	}
    	
    }
    
    role表

    @Entity
    @Table(name="role")
    public class Role implements Serializable{
    	
    	
    	private static final long serialVersionUID = 6177417450707400228L;   
    	
    	@Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
        @Column(name="roleid",nullable=false)
    	private int roleId;
    	
    	@Column(name="rolename")
        private String roleName;
    	
    	@OneToMany(fetch=FetchType.LAZY,mappedBy="role",cascade=CascadeType.ALL)
    	private List<UserRole> listUserRole;
    	
    	@OneToMany(fetch=FetchType.LAZY,mappedBy="role",cascade=CascadeType.ALL)
    	private List<RolePermission> listRolePermission;
    			
    	public int getRoleId() {
    		return roleId;
    	}
    	public void setRoleId(int roleId) {
    		this.roleId = roleId;
    	}
    	
    	public String getRoleName() {
    		return roleName;
    	}
    	public void setRoleName(String roleName) {
    		this.roleName = roleName;
    	}
    	
    	public List<UserRole> getListUserRole() {
    		return listUserRole;
    	}
    	public void setListUserRole(List<UserRole> listUserRole) {
    		this.listUserRole = listUserRole;
    	}
    	
    	public List<RolePermission> getListRolePermission() {
    		return listRolePermission;
    	}
    	public void setListRolePermission(List<RolePermission> listRolePermission) {
    		this.listRolePermission = listRolePermission;
    	}	
    }
    

    rolepermission表

    @Entity
    @Table(name="rolepermission")
    public class RolePermission implements Serializable{
        
    	private static final long serialVersionUID = 6177417450707400228L;
    	
    	@Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
        @Column(name="id",nullable=false)
    	private int id;
    	
    	@ManyToOne(fetch=FetchType.EAGER,cascade=CascadeType.ALL)
    	@JoinColumn(name="roleid")
    	private Role role;
    
    	@ManyToOne(fetch=FetchType.EAGER,cascade=CascadeType.ALL)
    	@JoinColumn(name="permissionid")
    	private Permission permission;
    	
    	public int getId() {
    		return id;
    	}
    
    	public void setId(int id) {
    		this.id = id;
    	}
    
    	public Role getRole() {
    		return role;
    	}
    
    	public void setRole(Role role) {
    		this.role = role;
    	}
    
    	public Permission getPermission() {
    		return permission;
    	}
    
    	public void setPermission(Permission permission) {
    		this.permission = permission;
    	}
    	
    }
    

    permission表

    @Entity
    @Table(name="permission")
    public class Permission implements Serializable{
        
        private static final long serialVersionUID = 6177417450707400228L;
        
        @Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
        @Column(name="permissionid",nullable=false)
    	private int permissionId;
    	
        @Column(name="permission")
    	private String permission;
        
    	@OneToMany(fetch=FetchType.LAZY,mappedBy="permission",cascade=CascadeType.ALL)
    	private List<RolePermission> listRolePermission;
        	
    	public int getPermissionId() {
    		return permissionId;
    	}
    
    	public void setPermissionId(int permissionId) {
    		this.permissionId = permissionId;
    	}
    
    	public String getPermission() {
    		return permission;
    	}
    
    	public void setPermission(String permission) {
    		this.permission = permission;
    	}
    
    	public List<RolePermission> getListRolePermission() {
    		return listRolePermission;
    	}
    
    	public void setListRolePermission(List<RolePermission> listRolePermission) {
    		this.listRolePermission = listRolePermission;
    	}
    }
    

    我这里是依照我的权限表博客里设计的,另外使用的onetomany和manytoone,在这里也能够用manytomany,

    依据大家的喜好来写吧。

  • 相关阅读:
    debian 安装deb软件
    Linux的发行版之间的联系和区别
    Linux软件包安装(rpm、yum、apt-get)
    在deepin中安装docker
    使用BeanUitls提高对象拷贝效率
    Nginx下载和安装与启动
    Spring Boot 的项目打包成的 JAR 包,制作成 docker 镜像并运行
    Java并发编程实战(使用synchronized实现同步方法)
    Java7并发编程实战(一) 守护线程的创建和运行
    Java7并发编程实战(一) 线程的等待
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4296941.html
Copyright © 2011-2022 走看看