角色权限模块自动生成

hehai
shijie 4 years ago
parent 782775acdb
commit bfc221b9de
  1. 13
      pom.xml
  2. 20
      src/main/java/com/msdw/tms/controller/SysPermissionController.java
  3. 20
      src/main/java/com/msdw/tms/controller/SysRoleController.java
  4. 20
      src/main/java/com/msdw/tms/controller/SysRolePermissionController.java
  5. 20
      src/main/java/com/msdw/tms/controller/SysUserRoleController.java
  6. 18
      src/main/java/com/msdw/tms/dao/SysPermissionMapper.java
  7. 18
      src/main/java/com/msdw/tms/dao/SysRoleMapper.java
  8. 18
      src/main/java/com/msdw/tms/dao/SysRolePermissionMapper.java
  9. 18
      src/main/java/com/msdw/tms/dao/SysUserRoleMapper.java
  10. 90
      src/main/java/com/msdw/tms/entity/SysPermission.java
  11. 60
      src/main/java/com/msdw/tms/entity/SysRole.java
  12. 39
      src/main/java/com/msdw/tms/entity/SysRolePermission.java
  13. 39
      src/main/java/com/msdw/tms/entity/SysUserRole.java
  14. 16
      src/main/java/com/msdw/tms/service/ISysPermissionService.java
  15. 16
      src/main/java/com/msdw/tms/service/ISysRolePermissionService.java
  16. 16
      src/main/java/com/msdw/tms/service/ISysRoleService.java
  17. 16
      src/main/java/com/msdw/tms/service/ISysUserRoleService.java
  18. 20
      src/main/java/com/msdw/tms/service/impl/SysPermissionServiceImpl.java
  19. 20
      src/main/java/com/msdw/tms/service/impl/SysRolePermissionServiceImpl.java
  20. 20
      src/main/java/com/msdw/tms/service/impl/SysRoleServiceImpl.java
  21. 20
      src/main/java/com/msdw/tms/service/impl/SysUserRoleServiceImpl.java
  22. 115
      src/main/java/com/msdw/tms/util/MyBatisPlusCodeGenerator.java
  23. 22
      src/main/resources/mapper/tms/SysPermissionMapper.xml
  24. 16
      src/main/resources/mapper/tms/SysRoleMapper.xml
  25. 12
      src/main/resources/mapper/tms/SysRolePermissionMapper.xml
  26. 12
      src/main/resources/mapper/tms/SysUserRoleMapper.xml

@ -225,6 +225,19 @@
<artifactId>pagehelper</artifactId> <artifactId>pagehelper</artifactId>
<version>5.1.2</version> <version>5.1.2</version>
</dependency> </dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

@ -0,0 +1,20 @@
package com.msdw.tms.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 菜单权限表 前端控制器
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@RestController
@RequestMapping("/sys-permission")
public class SysPermissionController {
}

@ -0,0 +1,20 @@
package com.msdw.tms.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户角色表 前端控制器
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@RestController
@RequestMapping("/sys-role")
public class SysRoleController {
}

@ -0,0 +1,20 @@
package com.msdw.tms.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 角色权限中间表 前端控制器
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@RestController
@RequestMapping("/sys-role-permission")
public class SysRolePermissionController {
}

@ -0,0 +1,20 @@
package com.msdw.tms.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 用户角色中间表 前端控制器
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@RestController
@RequestMapping("/sys-user-role")
public class SysUserRoleController {
}

@ -0,0 +1,18 @@
package com.msdw.tms.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.msdw.tms.entity.SysPermission;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 菜单权限表 Mapper 接口
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Mapper
public interface SysPermissionMapper extends BaseMapper<SysPermission> {
}

@ -0,0 +1,18 @@
package com.msdw.tms.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.msdw.tms.entity.SysRole;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 用户角色表 Mapper 接口
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Mapper
public interface SysRoleMapper extends BaseMapper<SysRole> {
}

@ -0,0 +1,18 @@
package com.msdw.tms.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.msdw.tms.entity.SysRolePermission;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 角色权限中间表 Mapper 接口
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Mapper
public interface SysRolePermissionMapper extends BaseMapper<SysRolePermission> {
}

@ -0,0 +1,18 @@
package com.msdw.tms.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.msdw.tms.entity.SysUserRole;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 用户角色中间表 Mapper 接口
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Mapper
public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
}

@ -0,0 +1,90 @@
package com.msdw.tms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* 菜单权限表
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Data
@TableName("sys_permission")
public class SysPermission implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 权限标识符
*/
private String code;
/**
* 名称
*/
private String name;
/**
* 父权限id
*/
private Long parentId;
/**
* 层级
*/
private Integer level;
/**
* 是否是菜单10不是0目前为按钮
*/
private Integer menuOrNot;
/**
* 状态0启用1禁用
*/
private Integer status;
/**
* 路径
*/
private String url;
/**
* 页面路径
*/
private String menuUrl;
/**
* 排序
*/
private Integer sort;
/**
* 图标
*/
private String icon;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date motifyTime;
}

@ -0,0 +1,60 @@
package com.msdw.tms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* 用户角色表
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Data
@TableName("sys_role")
public class SysRole implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 角色名称
*/
private String name;
/**
* 角色描述
*/
private String description;
/**
* 是否删除0未删除1删除
*/
private Integer delOrNot;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date motifyTime;
/**
* 编码
*/
private String code;
}

@ -0,0 +1,39 @@
package com.msdw.tms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* 角色权限中间表
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Data
@TableName("sys_role_permission")
public class SysRolePermission implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 角色id
*/
private Long roleId;
/**
* 权限id
*/
private Long permissionId;
}

@ -0,0 +1,39 @@
package com.msdw.tms.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* 用户角色中间表
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Data
@TableName("sys_user_role")
public class SysUserRole implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 用户id
*/
private Long userId;
/**
* 角色id
*/
private Long roleId;
}

@ -0,0 +1,16 @@
package com.msdw.tms.service;
import com.msdw.tms.entity.SysPermission;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 菜单权限表 服务类
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
public interface ISysPermissionService extends IService<SysPermission> {
}

@ -0,0 +1,16 @@
package com.msdw.tms.service;
import com.msdw.tms.entity.SysRolePermission;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 角色权限中间表 服务类
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
public interface ISysRolePermissionService extends IService<SysRolePermission> {
}

@ -0,0 +1,16 @@
package com.msdw.tms.service;
import com.msdw.tms.entity.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户角色表 服务类
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
public interface ISysRoleService extends IService<SysRole> {
}

@ -0,0 +1,16 @@
package com.msdw.tms.service;
import com.msdw.tms.entity.SysUserRole;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 用户角色中间表 服务类
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
public interface ISysUserRoleService extends IService<SysUserRole> {
}

@ -0,0 +1,20 @@
package com.msdw.tms.service.impl;
import com.msdw.tms.dao.SysPermissionMapper;
import com.msdw.tms.entity.SysPermission;
import com.msdw.tms.service.ISysPermissionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 菜单权限表 服务实现类
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Service
public class SysPermissionServiceImpl extends ServiceImpl<SysPermissionMapper, SysPermission> implements ISysPermissionService {
}

@ -0,0 +1,20 @@
package com.msdw.tms.service.impl;
import com.msdw.tms.dao.SysRolePermissionMapper;
import com.msdw.tms.entity.SysRolePermission;
import com.msdw.tms.service.ISysRolePermissionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 角色权限中间表 服务实现类
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Service
public class SysRolePermissionServiceImpl extends ServiceImpl<SysRolePermissionMapper, SysRolePermission> implements ISysRolePermissionService {
}

@ -0,0 +1,20 @@
package com.msdw.tms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msdw.tms.dao.SysRoleMapper;
import com.msdw.tms.entity.SysRole;
import com.msdw.tms.service.ISysRoleService;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户角色表 服务实现类
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Service
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
}

@ -0,0 +1,20 @@
package com.msdw.tms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.msdw.tms.dao.SysUserRoleMapper;
import com.msdw.tms.entity.SysUserRole;
import com.msdw.tms.service.ISysUserRoleService;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户角色中间表 服务实现类
* </p>
*
* @author Qyq
* @since 2021-02-24
*/
@Service
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements ISysUserRoleService {
}

@ -0,0 +1,115 @@
package com.msdw.tms.util;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: LvFang
* @Date: Created in 2019/6/11.
* @Description:
*/
public class MyBatisPlusCodeGenerator {
//包名
public static final String PACKAGE_NAME = "com.msdw.tms";
public static void main(String[] args) {
String[] tables = new String[] {"sys_role","sys_role_permission","sys_user_role"};//表名数组
String[] tablePrefixs = new String[] {""};//去掉前缀
executeCode(PACKAGE_NAME,tables,tablePrefixs);
}
private static void executeCode(String pack, String[] tables, String[] tablePrefixs) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
// 是否覆盖已有文件
gc.setFileOverride(false);
// 生成文件的输出目录
String projectPath = System.getProperty("user.dir");//user.dir 表示当前工程路径无需替换
gc.setOutputDir(projectPath + "/src/main/java");
//设置bean命名规范
gc.setEntityName("%s");
// 开发人员
gc.setAuthor("Qyq");
// 是否打开输出目录
gc.setOpen(false);
// 开启 BaseResultMap
gc.setBaseResultMap(true);
// 指定生成的主键的ID类型
gc.setIdType(IdType.ID_WORKER);
// 时间类型对应策略: 只使用 java.util.date 代替
gc.setDateType(DateType.ONLY_DATE);
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig config= new DataSourceConfig();
// 从试图获取
config.setUrl("jdbc:mysql://localhost:3306/msdw_tms?serverTimezone=UTC");
config.setDriverName("com.mysql.cj.jdbc.Driver");
config.setUsername("root");
config.setPassword("root");
mpg.setDataSource(config);
// 包配置
PackageConfig pc = new PackageConfig();
// 父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名
pc.setParent(pack);
// Entity包名
pc.setEntity("entity");
mpg.setPackageInfo(pc);
// 自定义配置
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
// to do nothing
}
};
List<FileOutConfig> focList = new ArrayList<>();
focList.add(new FileOutConfig("/templates/mapper.xml.ftl") {
public String outputFile(TableInfo tableInfo) {
// 自定义输入文件名称
if (StringUtils.isEmpty(pc.getModuleName())) {
return projectPath + "/src/main/resources/mapper/tms/" + tableInfo.getXmlName() + StringPool.DOT_XML;
}else {
return projectPath + "/src/main/resources/mapper/tms/" + pc.getModuleName() + "/" + tableInfo.getXmlName() + StringPool.DOT_XML;
}
}
});
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
mpg.setTemplate(new TemplateConfig().setXml(null));
// 策略配置
StrategyConfig strategy = new StrategyConfig();
// 数据库表映射到实体的命名策略: 下划线转驼峰命名
strategy.setNaming(NamingStrategy.underline_to_camel);
// 数据库表字段映射到实体的命名策略: 下划线转驼峰命名
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
// 【实体】是否为lombok模型(默认 false)
strategy.setEntityLombokModel(false);
// 需要包含的表名,允许正则表达式(与exclude二选一配置)
strategy.setInclude(tables);
// 驼峰转连字符
strategy.setControllerMappingHyphenStyle(true);
// 表前缀
strategy.setTablePrefix(tablePrefixs);
mpg.setStrategy(strategy);
mpg.setTemplateEngine(new FreemarkerTemplateEngine());
mpg.execute();
}
}

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msdw.tms.mapper.SysPermissionMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.msdw.tms.entity.SysPermission">
<id column="id" property="id" />
<result column="code" property="code" />
<result column="name" property="name" />
<result column="parent_id" property="parentId" />
<result column="level" property="level" />
<result column="menu_or_not" property="menuOrNot" />
<result column="status" property="status" />
<result column="url" property="url" />
<result column="menu_url" property="menuUrl" />
<result column="sort" property="sort" />
<result column="icon" property="icon" />
<result column="create_time" property="createTime" />
<result column="motify_time" property="motifyTime" />
</resultMap>
</mapper>

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msdw.tms.mapper.SysRoleMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.msdw.tms.entity.SysRole">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="description" property="description" />
<result column="del_or_not" property="delOrNot" />
<result column="create_time" property="createTime" />
<result column="motify_time" property="motifyTime" />
<result column="code" property="code" />
</resultMap>
</mapper>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msdw.tms.mapper.SysRolePermissionMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.msdw.tms.entity.SysRolePermission">
<id column="id" property="id" />
<result column="role_id" property="roleId" />
<result column="permission_id" property="permissionId" />
</resultMap>
</mapper>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.msdw.tms.mapper.SysUserRoleMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.msdw.tms.entity.SysUserRole">
<id column="id" property="id" />
<result column="user_id" property="userId" />
<result column="role_id" property="roleId" />
</resultMap>
</mapper>
Loading…
Cancel
Save