maven依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- 模板引擎 代码生成 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
</dependencies>
文件
spring:
application:
name: test-security-service
datasource:
type: com.alibaba.druid.pool.DruidDataSource #mysql驱动包
driver-class-name: org.gjt.mm.mysql.Driver #当前数据源操作类型
url: jdbc:mysql://localhost:3306/cloud2020?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
username: root
password: 123456
#配置Mybatis-Plus
mybatis-plus:
#逻辑删除配置
global-config:
sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
logic-delete-value: 1
logic-not-delete-value: 0
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
springboot启动文件
/**
* mybatis-plus 分页插件 --效率不高,最好自己包装一个分页
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
package com.zhang.security.generation;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.springframework.beans.factory.annotation.Value;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Properties;
// mybatis-plus 代码自动生成器
public class MpperGeneration {
public static void main(String[] args) throws IOException {
// 构建一个代码生成器对象
AutoGenerator autoGenerator = new AutoGenerator();
// 1.全局配置
GlobalConfig gc = new GlobalConfig();
// 获取项目所在的系统目录
String projectPath = System.getProperty("user.dir");
// 设置自动生成文件的具体路径
gc.setOutputDir(projectPath + "/test-spring-securityJpa/src/main/java");
// 设置文件作者
gc.setAuthor("zyk");
//生成完成后不弹出文件框
gc.setOpen(false);
// 设置文件覆盖(覆盖原文件)
gc.setFileOverride(false);
// 自定义文件命名,注意 %s 会自动填充表实体属性!
gc.setServiceName("%sService");
gc.setControllerName("%sController");
gc.setServiceImplName("%sServiceImpl");
gc.setMapperName("%sMapper");
autoGenerator.setGlobalConfig(gc);
//数据源配置
DataSourceConfig dsc = new DataSourceConfig();
// 设置数据库类型
dsc.setDbType(DbType.MYSQL);
dsc.setDriverName("org.gjt.mm.mysql.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
dsc.setUrl("jdbc:mysql://localhost:3306/cloud2020?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8"); //指定数据库
autoGenerator.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
// 表名生成策略(驼峰变”_“)
strategy.setNaming(NamingStrategy.underline_to_camel);
// 列名生成策略(驼峰变”_“)
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
// 需要生成的表
strategy.setInclude(new String[] { "payment" });
strategy.setSuperServiceClass(null);
strategy.setSuperServiceImplClass(null);
strategy.setSuperMapperClass(null);
// 设置自动lombok
strategy.setEntityLombokModel(true);
autoGenerator.setStrategy(strategy);
// 自动配置填充配置--可以不配置
TableFill gmtCreate = new TableFill("gmtCreate", FieldFill.INSERT);
ArrayList<TableFill> tableFills = new ArrayList<>();
tableFills.add(gmtCreate);
strategy.setTableFillList(tableFills);
// 包配置
PackageConfig pc = new PackageConfig();
// 设置模块类型
pc.setModuleName("payment");
// 设置父级包
pc.setParent("com.zhang.security");
pc.setController("controller");
pc.setService("service");
pc.setServiceImpl("service.impl");
pc.setMapper("mapper");
pc.setEntity("entity");
pc.setXml("xml");
autoGenerator.setPackageInfo(pc);
// 执行生成
autoGenerator.execute();
}
}
生成结果
将xml文件放入到resource文件夹中