Browse Source

🗃️ 数据库、实体初始化完成

pull/1/head
Yangkai.Shen 6 years ago
parent
commit
aff7a7ac83
7 changed files with 326 additions and 0 deletions
  1. +65
    -0
      spring-boot-demo-rbac-security/sql/security.sql
  2. +59
    -0
      spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/model/Permission.java
  3. +54
    -0
      spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/model/Role.java
  4. +85
    -0
      spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/model/User.java
  5. +21
    -0
      spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/repository/PermissionDao.java
  6. +21
    -0
      spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/repository/RoleDao.java
  7. +21
    -0
      spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/repository/UserDao.java

+ 65
- 0
spring-boot-demo-rbac-security/sql/security.sql View File

@@ -0,0 +1,65 @@
# 用户表
CREATE TABLE IF NOT EXISTS `sec_user`
(
`id` BIGINT(64) NOT NULL COMMENT '主键',
`username` VARCHAR(50) NOT NULL COMMENT '用户名',
`password` VARCHAR(60) NOT NULL COMMENT '密码',
`nickname` VARCHAR(255) DEFAULT NULL COMMENT '昵称',
`phone` VARCHAR(11) DEFAULT NULL COMMENT '手机',
`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
`birthday` BIGINT(13) DEFAULT NULL COMMENT '生日',
`sex` TINYINT(1) DEFAULT NULL COMMENT '性别,男-1,女-2',
`status` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '状态,启用-1,禁用-0',
`create_time` BIGINT(13) NOT NULL COMMENT '创建时间',
`update_time` BIGINT(13) NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `phone` (`phone`),
UNIQUE KEY `email` (`email`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8 COMMENT '用户表';

# 角色表
CREATE TABLE IF NOT EXISTS `sec_role`
(
`id` BIGINT(64) NOT NULL COMMENT '主键',
`name` VARCHAR(50) NOT NULL COMMENT '角色名',
`description` VARCHAR(100) DEFAULT NULL COMMENT '描述',
`create_time` BIGINT(13) NOT NULL COMMENT '创建时间',
`update_time` BIGINT(13) NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8 COMMENT '角色表';

# 权限表
CREATE TABLE IF NOT EXISTS `sec_permission`
(
`id` BIGINT(64) NOT NULL COMMENT '主键',
`name` VARCHAR(50) NOT NULL COMMENT '权限名',
`href` VARCHAR(1000) DEFAULT NULL COMMENT '页面地址',
`type` TINYINT(1) NOT NULL COMMENT '权限类型,页面-1,按钮-2',
`permission` VARCHAR(50) DEFAULT NULL COMMENT '权限表达式',
`sort` INT(11) NOT NULL COMMENT '排序',
`parent_id` BIGINT(64) NOT NULL COMMENT '父级id',
PRIMARY KEY (`id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8 COMMENT '权限表';

# 用户角色关系表
CREATE TABLE IF NOT EXISTS `sec_user_role`
(
`user_id` BIGINT(64) NOT NULL COMMENT '用户主键',
`role_id` BIGINT(64) NOT NULL COMMENT '角色主键',
PRIMARY KEY (`user_id`, `role_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8 COMMENT '用户角色关系表';

# 角色权限关系表
CREATE TABLE IF NOT EXISTS `sec_role_permission`
(
`role_id` BIGINT(64) NOT NULL COMMENT '角色主键',
`permission_id` BIGINT(64) NOT NULL COMMENT '权限主键',
PRIMARY KEY (`role_id`, `permission_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8 COMMENT '角色权限关系表';

+ 59
- 0
spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/model/Permission.java View File

@@ -0,0 +1,59 @@
package com.xkcoding.rbac.security.model;

import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.Table;

/**
* <p>
* 权限
* </p>
*
* @package: com.xkcoding.rbac.security.model
* @description: 权限
* @author: yangkai.shen
* @date: Created in 2018-12-07 16:04
* @copyright: Copyright (c) 2018
* @version: V1.0
* @modified: yangkai.shen
*/
@Data
@Entity
@Table(name = "sec_permission")
public class Permission {
/**
* 主键
*/
private Long id;

/**
* 权限名
*/
private String name;

/**
* 页面地址
*/
private String href;

/**
* 权限类型,页面-1,按钮-2
*/
private String type;

/**
* 权限表达式
*/
private String permission;

/**
* 排序
*/
private String sort;

/**
* 父级id
*/
private String parent_id;
}

+ 54
- 0
spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/model/Role.java View File

@@ -0,0 +1,54 @@
package com.xkcoding.rbac.security.model;

import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
* <p>
* 角色
* </p>
*
* @package: com.xkcoding.rbac.security.model
* @description: 角色
* @author: yangkai.shen
* @date: Created in 2018-12-07 15:45
* @copyright: Copyright (c) 2018
* @version: V1.0
* @modified: yangkai.shen
*/
@Data
@Entity
@Table(name = "sec_role")
public class Role {
/**
* 主键
*/
@Id
private Long id;

/**
* 角色名
*/
private String name;

/**
* 描述
*/
private String description;

/**
* 创建时间
*/
@Column(name = "create_time")
private Long createTime;

/**
* 更新时间
*/
@Column(name = "update_time")
private Long updateTime;
}

+ 85
- 0
spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/model/User.java View File

@@ -0,0 +1,85 @@
package com.xkcoding.rbac.security.model;

import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
* <p>
* 用户
* </p>
*
* @package: com.xkcoding.rbac.security.model
* @description: 用户
* @author: yangkai.shen
* @date: Created in 2018-12-07 16:00
* @copyright: Copyright (c) 2018
* @version: V1.0
* @modified: yangkai.shen
*/
@Data
@Entity
@Table(name = "sec_user")
public class User {

/**
* 主键
*/
@Id
private Long id;

/**
* 用户名
*/
private String username;

/**
* 密码
*/
private String password;

/**
* 昵称
*/
private String nickname;

/**
* 手机
*/
private String phone;

/**
* 邮箱
*/
private String email;

/**
* 生日
*/
private Long birthday;

/**
* 性别,男-1,女-2
*/
private Integer sex;

/**
* 状态,启用-1,禁用-0
*/
private Integer status;

/**
* 创建时间
*/
@Column(name = "create_time")
private Long createTime;

/**
* 更新时间
*/
@Column(name = "update_time")
private Long updateTime;
}

+ 21
- 0
spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/repository/PermissionDao.java View File

@@ -0,0 +1,21 @@
package com.xkcoding.rbac.security.repository;

import com.xkcoding.rbac.security.model.Permission;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.JpaRepository;

/**
* <p>
* 权限 DAO
* </p>
*
* @package: com.xkcoding.rbac.security.repository
* @description: 权限 DAO
* @author: yangkai.shen
* @date: Created in 2018-12-07 16:21
* @copyright: Copyright (c) 2018
* @version: V1.0
* @modified: yangkai.shen
*/
public interface PermissionDao extends JpaRepository<Permission, Long>, Specification<Permission> {
}

+ 21
- 0
spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/repository/RoleDao.java View File

@@ -0,0 +1,21 @@
package com.xkcoding.rbac.security.repository;

import com.xkcoding.rbac.security.model.Role;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.JpaRepository;

/**
* <p>
* 角色 DAO
* </p>
*
* @package: com.xkcoding.rbac.security.repository
* @description: 角色 DAO
* @author: yangkai.shen
* @date: Created in 2018-12-07 16:20
* @copyright: Copyright (c) 2018
* @version: V1.0
* @modified: yangkai.shen
*/
public interface RoleDao extends JpaRepository<Role, Long>, Specification<Role> {
}

+ 21
- 0
spring-boot-demo-rbac-security/src/main/java/com/xkcoding/rbac/security/repository/UserDao.java View File

@@ -0,0 +1,21 @@
package com.xkcoding.rbac.security.repository;

import com.xkcoding.rbac.security.model.User;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.JpaRepository;

/**
* <p>
* 用户 DAO
* </p>
*
* @package: com.xkcoding.rbac.security.repository
* @description: 用户 DAO
* @author: yangkai.shen
* @date: Created in 2018-12-07 16:18
* @copyright: Copyright (c) 2018
* @version: V1.0
* @modified: yangkai.shen
*/
public interface UserDao extends JpaRepository<User, Long>, Specification<User> {
}

Loading…
Cancel
Save