一 设计6个持久化类
User:对应用户
Dept:对应部门
Job:对应职位
Module:对应模块
Role:对应角色
Ropedom:对应权限
二 6个PO的关系
Dept和User之间存在1-N关系
User和Job之间存在N-1关系
Module和Job之间存在N-N的关系
User和Role之间存在N-N的关系
三 代码
1 User
package org.fkit.oa.identity.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.ForeignKey;
import javax.persistence.Id;
import javax.persistence.Index;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name = "OA_ID_USER", indexes = { @Index(columnList = "NAME", name = "IDX_USER_NAME") })
//@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class User implements Serializable {
private static final long serialVersionUID = -3417930882448168081L;
/** 用户ID PK,大小写英文和数字 */
@Id
@Column(name = "USER_ID", length = 50)
private String userId;
/** 密码 MD5加密 */
@Column(name = "PASS_WORD", length = 50)
private String passWord;
/** 姓名 */
@Column(name = "NAME", length = 50)
private String name;
/** 性别 1:男 2:女 */
@Column(name = "SEX")
private Short sex = 1;
/** 用户与部门存在多对一关联 部门 FK(OA_ID_DEPT) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = Dept.class)
@JoinColumn(name = "DEPT_ID", referencedColumnName = "ID", foreignKey = @ForeignKey(name = "FK_USER_DEPT"))
private Dept dept; // select u from User u where u.dept.id = ?
/** 用户与职位存在多对一关联 职位 FK(OA_ID_JOB) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = Job.class)
@JoinColumn(name = "JOB_CODE", referencedColumnName = "CODE", foreignKey = @ForeignKey(name = "FK_USER_JOB"))
private Job job;
/** 邮箱 */
@Column(name = "EMAIL", length = 50)
private String email;
/** 电话号码 */
@Column(name = "TEL", length = 50)
private String tel;
/** 手机号码 */
@Column(name = "PHONE", length = 50)
private String phone;
/** QQ号码 */
@Column(name = "QQ_NUM", length = 50)
private String qqNum;
/** 问题编号 */
@Column(name = "QUESTION")
private Short question;
/** 回答结果 */
@Column(name = "ANSWER", length = 200)
private String answer;
/** 状态 0新建,1审核,2不通过审核,3冻结 */
@Column(name = "STATUS")
private Short status = 0;
/** 用户创建人与用户存在多对一关联(FK(OA_ID_USER)) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "CREATER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK_USER_CREATER")) // 更改外键约束名
private User creater;
/** 创建时间 */
@Column(name = "CREATE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
/** 用户修改人与用户存在多对一关联(FK(OA_ID_USER)) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "MODIFIER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK_USER_MODIFIER")) // 更改外键约束名
private User modifier;
/** 修改时间 */
@Column(name = "MODIFY_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date modifyDate;
/** 部门审核人与用户存在多对一关联(FK(OA_ID_USER)) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "CHECKER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK_USER_CHECKER")) // 更改外键约束名
private User checker;
/** 审核时间 */
@Column(name = "CHECK_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date checkDate;
/** 用户与角色存在N-N关联 */
@ManyToMany(fetch = FetchType.LAZY, targetEntity = Role.class, mappedBy = "users")
private Set roles = new HashSet<>();
/** setter and getter method */
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Short getSex() {
return sex;
}
public void setSex(Short sex) {
this.sex = sex;
}
public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
public Job getJob() {
return job;
}
public void setJob(Job job) {
this.job = job;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getQqNum() {
return qqNum;
}
public void setQqNum(String qqNum) {
this.qqNum = qqNum;
}
public Short getQuestion() {
return question;
}
public void setQuestion(Short question) {
this.question = question;
}
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
public Short getStatus() {
return status;
}
public void setStatus(Short status) {
this.status = status;
}
public User getCreater() {
return creater;
}
public void setCreater(User creater) {
this.creater = creater;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public User getModifier() {
return modifier;
}
public void setModifier(User modifier) {
this.modifier = modifier;
}
public Date getModifyDate() {
return modifyDate;
}
public void setModifyDate(Date modifyDate) {
this.modifyDate = modifyDate;
}
public User getChecker() {
return checker;
}
public void setChecker(User checker) {
this.checker = checker;
}
public Date getCheckDate() {
return checkDate;
}
public void setCheckDate(Date checkDate) {
this.checkDate = checkDate;
}
public Set getRoles() {
return roles;
}
public void setRoles(Set roles) {
this.roles = roles;
}
}
2 Dept
package org.fkit.oa.identity.domain;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
@Entity
@Table(name = "OA_ID_DEPT")
public class Dept implements Serializable {
private static final long serialVersionUID = 678100638005497362L;
/** ID NUMBER 编号 PK主键自增长 */
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
private Long id;
/** NAME VARCHAR2(50) 部门名称 */
@Column(name = "NAME", length = 50)
private String name;
/** REMARK VARCHAR2(500) 备注 */
@Column(name = "REMARK", length = 500)
private String remark;
/** MODIFIER VARCHAR2(50) 修改人 FK(OA_ID_USER) N-1 */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "MODIFIER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK_DEPT_MODIFIER")) // 更改外键约束名
private User modifier;
/** MODIFY_DATE DATE 修改时间 */
@Column(name = "MODIFY_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date modifyDate;
/** CREATER VARCHAR2(50) 创建人 FK(OA_ID_USER) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "CREATER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK_DEPT_CREATER")) // 更改外键约束名
private User creater;
/** CREATE_DATE DATE 创建时间 */
@Column(name = "CREATE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
/** setter and getter method */
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public User getModifier() {
return modifier;
}
public void setModifier(User modifier) {
this.modifier = modifier;
}
public Date getModifyDate() {
return modifyDate;
}
public void setModifyDate(Date modifyDate) {
this.modifyDate = modifyDate;
}
public User getCreater() {
return creater;
}
public void setCreater(User creater) {
this.creater = creater;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
@Override
public String toString() {
return "Dept [id=" + id + ", name=" + name + ", remark=" + remark + ", modifier=" + modifier + ", modifyDate="
+ modifyDate + ", creater=" + creater + ", createDate=" + createDate + "]\n";
}
}
3 Job
package org.fkit.oa.identity.domain;
import java.io.Serializable;
import javax.persistence.*;
@Entity
@Table(name = "OA_ID_JOB")
//@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class Job implements Serializable {
private static final long serialVersionUID = 459497377750274376L;
/**
* CODE VARCHAR2(100) 代码 PK主键
*/
@Id
@Column(name = "CODE", length = 100)
private String code;
/** NAME VARCHAR2(50) 名称 */
@Column(name = "NAME", length = 50)
private String name;
/** REMARK VARCHAR2(300) 职位说明 */
@Column(name = "REMARK", length = 300)
private String remark;
/** setter and getter method */
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
4 Module
package org.fkit.oa.identity.domain;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
@Entity
@Table(name = "OA_ID_MODULE")
public class Module implements Serializable {
private static final long serialVersionUID = 5139796285142133024L;
/**
* CODE VARCHAR2(100) 代码 PK主键
*/
@Id
@Column(name = "CODE", length = 100)
private String code;
/** 名称 */
@Column(name = "NAME", length = 50)
private String name;
/** 操作链接 **/
@Column(name = "URL", length = 100)
private String url;
/** 备注 */
@Column(name = "REMARK", length = 500)
private String remark;
/** 模块修改人与用户存在多对一关联(FK(OA_ID_USER)) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "MODIFIER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK_MODULE_MODIFIER")) // 更改外键约束名
private User modifier;
/** 修改时间 */
@Column(name = "MODIFY_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date modifyDate;
/** 模块创建人与用户存在多对一关联(FK(OA_ID_USER)) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "CREATER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK_MODULE_CREATER")) // 更改外键约束名
private User creater;
/** 创建时间 */
@Column(name = "CREATE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
/** setter and getter method */
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public User getModifier() {
return modifier;
}
public void setModifier(User modifier) {
this.modifier = modifier;
}
public Date getModifyDate() {
return modifyDate;
}
public void setModifyDate(Date modifyDate) {
this.modifyDate = modifyDate;
}
public User getCreater() {
return creater;
}
public void setCreater(User creater) {
this.creater = creater;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
}
5 Role
package org.fkit.oa.identity.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.*;
@Entity
@Table(name = "OA_ID_ROLE")
//@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class Role implements Serializable {
private static final long serialVersionUID = 6837526111700641932L;
/** 编号 PK主键自增长 */
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
private Long id;
/** 角色名字 */
@Column(name = "NAME", length = 50)
private String name;
/** 备注 */
@Column(name = "REMARK", length = 500)
private String remark;
/** 角色创建人与用户存在多对一关联(FK(OA_ID_USER)) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "CREATER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK_ROLE_CREATER")) // 更改外键约束名
private User creater;
/** 创建时间 */
@Column(name = "CREATE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
/** 角色修改人与用户存在多对一关联(FK(OA_ID_USER)) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "MODIFIER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK_ROLE_MODIFIER")) // 更改外键约束名
private User modifier;
/** 修改时间 */
@Column(name = "MODIFY_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date modifyDate;
/** 角色与用户存在N-N关联 */
@ManyToMany(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinTable(name = "OA_ID_USER_ROLE", joinColumns = @JoinColumn(name = "ROLE_ID", referencedColumnName = "ID"), inverseJoinColumns = @JoinColumn(name = "USER_ID", referencedColumnName = "USER_ID"))
private Set users = new HashSet<>();
/** setter and getter method */
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public User getCreater() {
return creater;
}
public void setCreater(User creater) {
this.creater = creater;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public User getModifier() {
return modifier;
}
public void setModifier(User modifier) {
this.modifier = modifier;
}
public Date getModifyDate() {
return modifyDate;
}
public void setModifyDate(Date modifyDate) {
this.modifyDate = modifyDate;
}
public Set getUsers() {
return users;
}
public void setUsers(Set users) {
this.users = users;
}
}
6 Ropedom
package org.fkit.oa.identity.domain;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
@Entity
@Table(name = "OA_ID_POPEDOM")
public class Popedom implements Serializable {
// Popedom p = new Popedom(); // 一行数据
private static final long serialVersionUID = -1246107000138494011L;
/** 编号 PK主键自增长 */
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
private Long id;
/** 权限与模块存在N-1关联 模块代码 FK(OA_ID_MODULE) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = Module.class)
@JoinColumn(name = "MODULE_CODE", referencedColumnName = "CODE", foreignKey = @ForeignKey(name = "FK_POPEDOM_MODULE")) // 更改外键约束名
private Module module;
/** 权限与操作存在N-1关联 操作代码 FK(OA_ID_MODULE) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = Module.class)
@JoinColumn(name = "OPERA_CODE", referencedColumnName = "CODE", foreignKey = @ForeignKey(name = "FK_POPEDOM_OPERA")) // 更改外键约束名
private Module opera;
/** 权限与角色存在N-1关联 角色 FK(OA_ID_ROLE) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = Role.class)
@JoinColumn(name = "ROLE_ID", referencedColumnName = "ID", foreignKey = @ForeignKey(name = "FK_POPEDOM_ROLE")) // 更改外键约束名
private Role role;
/** 权限创建人与用户存在多对一关联(FK(OA_ID_USER)) */
@ManyToOne(fetch = FetchType.LAZY, targetEntity = User.class)
@JoinColumn(name = "CREATER", referencedColumnName = "USER_ID", foreignKey = @ForeignKey(name = "FK_POPEDOM_CREATER")) // 更改外键约束名
private User creater;
/** 创建时间 */
@Column(name = "CREATE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
/** setter and getter method */
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Module getModule() {
return module;
}
public void setModule(Module module) {
this.module = module;
}
public Module getOpera() {
return opera;
}
public void setOpera(Module opera) {
this.opera = opera;
}
public Role getRole() {
return role;
}
public void setRole(Role role) {
this.role = role;
}
public User getCreater() {
return creater;
}
public void setCreater(User creater) {
this.creater = creater;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
}
四 数据表
五 导入数据
USE `oa_db`;
/*Data for the table `oa_id_dept` */
insert into `oa_id_dept`(`id`,`create_date`,`modify_date`,`name`,`remark`,`creater`,`modifier`) values (1,'2017-01-14 09:33:24','2017-01-14 09:33:24','技术部',NULL,'admin','admin'),(2,'2017-01-14 09:33:24','2017-01-14 09:33:24','运营部',NULL,'admin','admin'),(3,'2017-01-14 09:33:24','2017-01-14 09:33:24','财务部',NULL,'admin','admin'),(4,'2017-01-14 09:33:24','2017-01-14 09:33:24','人事部',NULL,'admin','admin'),(5,'2017-01-14 09:33:24','2017-01-14 09:33:24','总公办',NULL,'admin','admin');
/*Data for the table `oa_id_job` */
insert into `oa_id_job`(`code`,`name`,`remark`) values ('0001','职员',NULL),('0002','Java开发工程师',NULL),('0003','Java中级开发工程师',NULL),('0004','Java高级开发工程师',NULL),('0005','系统管理员',NULL),('0006','架构师',NULL),('0007','主管',NULL),('0008','经理',NULL),('0009','总经理',NULL);
/*Data for the table `oa_id_module` */
insert into `oa_id_module`(`code`,`create_date`,`modify_date`,`name`,`remark`,`url`,`creater`,`modifier`) values ('0001','2017-01-14 09:33:24','2017-01-14 09:33:24','系统管理','系统管理','#','admin','admin'),('00010001','2017-01-14 09:33:24','2017-01-14 09:33:24','用户管理','用户','/identity/user/selectUser','admin','admin'),('000100010001','2017-01-14 09:33:24','2017-01-14 09:33:24','--------查询操作','查询操作','/identity/user/selectUser','admin','admin'),('000100010002','2017-01-14 09:33:24','2017-01-19 16:41:29','--------增加操作','','/identity/user/addUser','admin','admin'),('000100010003','2017-01-14 09:33:24','2017-01-19 16:41:43','--------修改操作','','/identity/user/updateUser','admin','admin'),('000100010004','2017-01-14 09:33:24','2017-01-20 09:10:06','--------删除操作','','/identity/user/deleteUser','admin','admin'),('000100010005','2017-01-14 09:33:24','2017-01-20 09:09:16','--------预览用户','审核操作','/identity/user/preUser','admin','admin'),('000100010006','2017-01-19 16:06:58','2017-01-20 09:09:48','激活用户','测试一下','/identity/user/activeUser','admin','admin'),('00010002','2017-01-19 16:39:47','2017-01-20 09:08:00','菜单管理','','/identity/module/mgrModule','admin','admin'),('000100020001','2017-01-19 16:41:09','2017-01-20 09:10:52','管理菜单','','/identity/module/mgrModule','admin','admin'),('000100020002','2017-01-20 09:12:41',NULL,'查询子模块','查询子菜单','/identity/module/getModulesByParent','admin',NULL),('000100020003','2017-01-20 09:14:53',NULL,'添加模块','','/identity/module/addModule','admin',NULL),('000100020004','2017-01-20 09:15:14','2017-01-20 14:00:12','删除模块','','/identity/module/deleteModule','admin','admin'),('000100020005','2017-01-20 09:15:50',NULL,'修改模块','','/identity/module/updateModule','admin',NULL),('00010003','2017-01-19 16:40:06','2017-01-20 11:05:16','角色管理','','/identity/role/selectRole','admin','admin'),('000100030001','2017-01-20 09:17:42','2017-01-20 09:21:06','查询角色','','/identity/role/selectRole','admin','admin'),('000100030002','2017-01-20 09:18:19','2017-01-20 11:26:10','添加角色','','/identity/role/addRole','admin','admin'),('000100030003','2017-01-20 09:18:48','2017-01-20 11:26:14','删除角色','','/identity/role/deleteRole','admin','admin'),('000100030004','2017-01-20 09:19:19','2017-01-20 11:26:17','修改角色','','/identity/role/updateRole','admin','admin'),('000100030005','2017-01-20 09:19:49',NULL,'查询角色用户','','/identity/role/selectRoleUser','admin',NULL),('000100030006','2017-01-20 09:23:02',NULL,'绑定用户','','/identity/role/bindUser','admin',NULL),('000100030007','2017-01-20 09:23:18',NULL,'解绑用户','','/identity/role/unBindUser','admin',NULL),('000100030008','2017-01-20 09:24:17','2017-01-20 09:24:48','管理权限','','/identity/popedom/mgrPopedom','admin','admin'),('000100030009','2017-01-20 09:24:36','2017-01-20 15:37:52','角色模块操作权限','','/identity/popedom/getOperasByParent','admin','admin'),('000100030010','2017-01-20 09:27:40','2017-01-20 09:27:55','绑定模块操作','','/identity/popedom/bindPopedom','admin','admin'),('0002','2012-04-07 13:45:51',NULL,'假期管理','假期管理','#','admin',NULL),('00020001','2017-01-20 09:30:36','2017-01-20 09:30:36','假期类型','假期类型管理','/admin/leave/mgrLeaveType','admin','admin'),('000200010001','2017-01-20 09:30:36','2017-01-20 11:19:49','--------查询操作','查询操作','/admin/leave/selectLeaveType','admin','admin'),('000200010002','2017-01-20 09:30:36','2017-01-20 09:30:36','--------增加操作','增加操作','/admin/leave/addLeaveType','admin','admin'),('000200010003','2017-01-20 09:30:36','2017-01-20 11:19:53','--------修改操作','修改操作','/admin/leave/updateLeaveType','admin','admin'),('000200010004','2017-01-20 09:30:36','2017-01-20 11:19:56','--------删除操作','删除操作','/admin/leave/deleteLeaveType','admin','admin'),('000200010005','2017-01-20 09:30:36','2017-01-20 09:30:36','--------管理操作','管理操作','/admin/leave/mgrLeaveType','admin','admin'),('00020002','2017-01-20 09:30:36',NULL,'假期明细','假期明细','/admin/leave/mgrLeaveItem','admin',NULL),('000200020001','2017-01-20 09:30:36',NULL,'--------管理操作','管理操作','/admin/leave/mgrLeaveItem','admin',NULL),('000200020002','2017-01-20 09:30:36',NULL,'--------查询操作','查询操作','/admin/leave/selectLeaveItem','admin',NULL),('000200020006','2017-01-20 09:30:36',NULL,'--------审核操作','审核操作','/admin/leave/checkLeaveItem','admin',NULL),('00020003','2017-01-20 09:30:36','2017-01-20 09:30:36','用户请假','用户请假','/admin/leave/selectUserLeave','admin','admin'),('000200030001','2017-01-20 09:30:36',NULL,'--------查询操作','查询操作','/admin/leave/selectUserLeave','admin',NULL),('000200030002','2017-01-20 09:30:36',NULL,'--------增加操作','增加操作','/admin/leave/addUserLeave','admin',NULL),('000200030003','2017-01-20 09:30:36',NULL,'--------修改操作','修改操作','/admin/leave/updateUserLeave','admin',NULL),('000200030004','2017-01-20 09:30:36',NULL,'--------删除操作','删除操作','/admin/leave/deleteUserLeave','admin',NULL),('00020004','2017-01-20 09:30:36','2017-01-20 09:30:36','假期审批','假期审批','/admin/leave/selectAuditLeave','admin','admin'),('000200040001','2017-01-20 09:30:36',NULL,'--------查看审批操作','查看审批操作','/admin/leave/selectAuditLeave','admin',NULL),('000200040002','2017-01-20 09:30:36',NULL,'--------审批请假操作','审批请假操作','/admin/leave/auditLeaveSheet','admin',NULL);
/*Data for the table `oa_id_popedom` */
insert into `oa_id_popedom`(`id`,`create_date`,`creater`,`module_code`,`opera_code`,`role_id`) values (133,'2017-01-20 11:03:28','admin','00010003','000100030001',1),(134,'2017-01-20 11:03:28','admin','00010003','000100030002',1),(135,'2017-01-20 11:03:28','admin','00010003','000100030003',1),(136,'2017-01-20 11:03:28','admin','00010003','000100030004',1),(137,'2017-01-20 11:03:28','admin','00010003','000100030005',1),(138,'2017-01-20 11:03:28','admin','00010003','000100030006',1),(139,'2017-01-20 11:03:28','admin','00010003','000100030007',1),(140,'2017-01-20 11:03:28','admin','00010003','000100030008',1),(141,'2017-01-20 11:03:28','admin','00010003','000100030009',1),(142,'2017-01-20 11:03:28','admin','00010003','000100030010',1),(156,'2017-01-20 11:16:07','admin','00010003','000100030001',2),(157,'2017-01-20 11:16:07','admin','00010003','000100030002',2),(158,'2017-01-20 11:16:07','admin','00010003','000100030003',2),(159,'2017-01-20 11:16:07','admin','00010003','000100030004',2),(160,'2017-01-20 11:16:07','admin','00010003','000100030005',2),(161,'2017-01-20 11:16:07','admin','00010003','000100030006',2),(162,'2017-01-20 11:16:07','admin','00010003','000100030007',2),(163,'2017-01-20 11:16:07','admin','00010003','000100030008',2),(164,'2017-01-20 11:16:07','admin','00010003','000100030009',2),(165,'2017-01-20 11:16:07','admin','00010003','000100030010',2),(166,'2017-01-20 11:16:59','admin','00010002','000100020001',1),(167,'2017-01-20 11:16:59','admin','00010002','000100020002',1),(168,'2017-01-20 11:16:59','admin','00010002','000100020003',1),(169,'2017-01-20 11:16:59','admin','00010002','000100020004',1),(170,'2017-01-20 11:16:59','admin','00010002','000100020005',1),(171,'2017-01-20 11:23:23','admin','00020003','000200030001',2),(172,'2017-01-20 11:23:23','admin','00020003','000200030002',2),(173,'2017-01-20 11:23:23','admin','00020003','000200030003',2),(174,'2017-01-20 11:23:23','admin','00020003','000200030004',2),(175,'2017-01-20 11:47:10','admin','00010001','000100010001',2),(176,'2017-01-20 11:47:10','admin','00010001','000100010002',2),(177,'2017-01-20 11:47:10','admin','00010001','000100010003',2),(178,'2017-01-20 11:47:10','admin','00010001','000100010004',2),(179,'2017-01-20 11:47:10','admin','00010001','000100010005',2),(180,'2017-01-20 11:47:10','admin','00010001','000100010006',2),(181,'2017-01-20 11:47:13','admin','00010002','000100020001',2),(182,'2017-01-20 11:47:13','admin','00010002','000100020002',2),(183,'2017-01-20 11:47:13','admin','00010002','000100020003',2),(184,'2017-01-20 11:47:13','admin','00010002','000100020004',2),(185,'2017-01-20 11:47:13','admin','00010002','000100020005',2),(198,'2017-01-20 14:01:44','admin','00020001','000200010001',1),(199,'2017-01-20 14:01:44','admin','00020001','000200010002',1),(200,'2017-01-20 14:01:44','admin','00020001','000200010003',1),(201,'2017-01-20 14:01:44','admin','00020001','000200010004',1),(202,'2017-01-20 14:01:44','admin','00020001','000200010005',1),(203,'2017-01-20 14:01:54','admin','00020002','000200020001',1),(204,'2017-01-20 14:01:54','admin','00020002','000200020002',1),(205,'2017-01-20 14:01:54','admin','00020002','000200020006',1),(206,'2017-01-20 14:01:56','admin','00020003','000200030001',1),(207,'2017-01-20 14:01:56','admin','00020003','000200030002',1),(208,'2017-01-20 14:01:56','admin','00020003','000200030003',1),(209,'2017-01-20 14:01:56','admin','00020003','000200030004',1),(228,'2017-01-20 16:03:57','admin','00010001','000100010001',3),(229,'2017-01-20 16:03:57','admin','00010001','000100010002',3),(230,'2017-01-20 16:13:05','admin','00020004','000200040001',1),(231,'2017-01-20 16:13:05','admin','00020004','000200040002',1),(232,'2017-11-07 12:17:48','admin','00010001','000100010001',1),(233,'2017-11-07 12:17:48','admin','00010001','000100010005',1);
/*Data for the table `oa_id_role` */
insert into `oa_id_role`(`id`,`create_date`,`modify_date`,`name`,`remark`,`creater`,`modifier`) values (1,'2017-01-14 09:33:23','2017-01-19 09:31:29','系统管理员','系统','admin','admin'),(2,'2017-01-14 09:33:24','2017-01-20 11:19:09','其他职员','其他职员','admin','admin'),(3,'2017-01-20 11:18:39','2017-01-20 11:19:23','咨询师','咨询师','admin','admin'),(4,'2017-01-20 11:18:50','2017-01-20 11:19:26','讲师','讲师','admin','admin');
/*Data for the table `oa_id_user` */
insert into `oa_id_user`(`user_id`,`answer`,`check_date`,`create_date`,`email`,`modify_date`,`name`,`pass_word`,`phone`,`qq_num`,`question`,`sex`,`status`,`tel`,`checker`,`creater`,`dept_id`,`job_code`,`modifier`) values ('admin','19810821232332','2017-01-20 16:47:31','2017-01-14 09:33:23','[email protected]','2017-01-20 16:03:21','徐磊','123456','18665616520','251425887',1,1,1,'020-88798789','admin','admin',2,'0001','admin'),('ligang','19831011','2017-01-20 16:45:00','2017-01-20 09:33:35','[email protected]','2017-01-20 16:38:28','李刚','123456','18665616520','17522122121',1,1,0,'020-38216920','admin','admin',1,'0009','admin'),('xcm','湖北','2017-01-20 16:47:42','2017-01-16 10:12:24','[email protected]','2017-01-20 16:06:34','谢老师','123456','18665616520','251425887',2,2,1,'02043434242','admin','admin',3,'0008','admin');
/*Data for the table `oa_id_user_role` */
insert into `oa_id_user_role`(`role_id`,`user_id`) values (1,'admin'),(2,'ligang'),(3,'xcm');
六 参考
数据库相关知识
https://www.cnblogs.com/zjfjava/p/6922494.html