添加基础代码生成器,项目管理子模块

This commit is contained in:
mi9688 2024-09-25 12:46:22 +08:00
parent 9213e44988
commit d14f215f3a
6 changed files with 144 additions and 1 deletions

View File

@ -45,6 +45,16 @@
<artifactId>mybatis-plus-generator</artifactId>
<version>${mybatis-plus-generator.version}</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity.version}</version>
</dependency>
<!-- Mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- pagehelper 分页插件 -->
<dependency>

View File

@ -0,0 +1,92 @@
package com.fastbee.common.utils.generate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import java.util.ArrayList;
import java.util.List;
/**
* 代码生成器根据数据库表结构生成对应的实体类Mapper接口Service接口Controller等基础代码
* @author 蒾酒
*/
public class CodeGenerator {
public static void main(String[] args) {
getCode();
}
public static void getCode() {
//TODO 修改为自己的数据库信息
String url = "jdbc:mysql://w.hanzhenyun.com:3306/wumei2.4?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai";
String username = "wumei2.4";
String password = "rtB8EhbRRYSGyxHw";
//TODO 修改为自己的表名
List<String> tables = new ArrayList<>();//需要生成对应代码的表名的集合
tables.add("project");
FastAutoGenerator.create(url, username, password)
//全局配置----------------------------------------------------------------------------------------
.globalConfig(builder -> {
builder
.author("蒾酒")//TODO 修改为自己名称
.outputDir(System.getProperty("user.dir") + "\\fastbee-service\\fastbee-project-service\\src\\main\\java")//生成文件输出基础路径(父模块路径)
// .enableSwagger() //开启swagger会自动添加swagger相关注解
.commentDate("yyyy-MM-dd");//日期格式
})
//包名配置--------------------------------------------------------------------------------------------
.packageConfig(builder ->
builder
.parent("com.fastbee.project")//TODO 修改为项目的具体业务模块
.entity("domain")//数据库实体类输出路径
.service("service")//业务接口输出路径
.serviceImpl("service.impl")//业务实现类输出路径
// .controller("controller")//控制器输出路径
.mapper("mapper")//映射文件输出路径
.xml("mapper/xml")//XML文件输出路径
)
//策略配置-----------------------------------------------------------------------------------------
.strategyConfig(builder -> {
builder
.addInclude(tables)// 需要生成代码对应的表若需要生成全部表则注释该行解放下一行
// .addInclude("all")//生成全部表
// .addTablePrefix("p_")//表前缀过滤例如p_开头的表不会生成对应代码
//实体策略配置
.entityBuilder()
.enableFileOverride()// TODO 开启覆盖已生成的entity文件,关闭则注释本行
.enableLombok()// 自动添加lombok注解@Getter @Setter
.logicDeleteColumnName("deleted")// 指定逻辑删除字段名自动为其添加逻辑删除字段注解
.enableTableFieldAnnotation()//启用表字段注解@TableField
//Mapper策略配置
.mapperBuilder()
.enableBaseResultMap() // 生成通用的resultMap
.superClass(BaseMapper.class)
.formatMapperFileName("%sMapper")//mapper文件后缀,如UserMapper
// .enableFileOverride()// TODO 开启覆盖已生成的mapper文件(谨慎开启),关闭则注释本行
.formatXmlFileName("%sMapper")//xml文件后缀,如UserMapper.xml
//Service策略配置
.serviceBuilder()
// .enableFileOverride()//TODO 开启覆盖已生成的service文件(谨慎开启),关闭则注释本行
.formatServiceFileName("%sService")
.formatServiceImplFileName("%sServiceImpl")
//Controller策略配置
.controllerBuilder()
.enableHyphenStyle() // 映射路径使用连字符格式
.formatFileName("%sController")
// .enableFileOverride()// TODO 开启覆盖已生成的controller文件(谨慎开启),关闭则注释本行
.enableRestStyle();//启用rest风格自动添加@RestController
})
.execute();
}
}

View File

@ -130,7 +130,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/dueros").permitAll()
//安防小板
.antMatchers("/iot/photos","/iot/photos/**","/yinghsiyun/webhook").permitAll()
.antMatchers("/test/**/*").permitAll()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated()

View File

@ -42,6 +42,17 @@
<groupId>com.fastbee</groupId>
<artifactId>fastbee-waterele-service</artifactId>
</dependency>
<dependency>
<groupId>com.fastbee</groupId>
<artifactId>fastbee-project-service</artifactId>
<version>3.8.5</version>
<scope>compile</scope>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.fastbee</groupId>-->
<!-- <artifactId>fastbee-project-service</artifactId>-->
<!-- </dependency>-->
</dependencies>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.fastbee</groupId>
<artifactId>fastbee-service</artifactId>
<version>3.8.5</version>
</parent>
<artifactId>fastbee-project-service</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 通用工具-->
<dependency>
<groupId>com.fastbee</groupId>
<artifactId>fastbee-common</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -17,6 +17,7 @@
<module>fastbee-system-service</module>
<module>fastbee-xunjian-service</module>
<module>fastbee-waterele-service</module>
<module>fastbee-project-service</module>
</modules>