Springboot整合MypatisPlus,自动生成代码

1、新建springboot项目,导入依赖

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
<!-- 模板引擎 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.2.0</version>
</dependency>


2、新建工具类

import com.baomidou.mybatisplus.annotation.DbType;
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.rules.NamingStrategy;
/**
* @program: SpringbootDemoMybatisPlus
* @description: 自动生成工具类
* @author: fanwenpeng
* @create: 2021-04-07 16:23
**/
public class MybatisPlusUtil {


public static void generateCode() {
String packageName = "com.wenpeng.fan";
boolean serviceNameStartWithI = false;//capital -> UserService, 设置成true: capital -> IUserService
generateByTables(
serviceNameStartWithI, packageName,
"user_bank","user_level"
//"user_member","member_provide_record"
);
}

private static void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) {
GlobalConfig config = new GlobalConfig();


String dbUrl = "jdbc:mysql://127.0.0.1:3306/test;
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL)
.setUrl(dbUrl)
.setUsername("username")
.setPassword("password@admin.com")
// .setTypeConvert(new MysqlTypeConvert()) // 使用自定义类型转换类,否则默认会把date类型转换为LocalDate等,时间转换有误
.setDriverName("com.mysql.cj.jdbc.Driver");

StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig
// .setSuperEntityClass("com.haohuan.audit.entity.BaseEntity")
.setTablePrefix(new String[]{"as_", ""})// 此处可以修改为您的表前缀
.setSuperEntityColumns(new String[]{"created_at", "updated_at", "deleted_at"})
.setCapitalMode(true)
.setEntityLombokModel(true)
.setNaming(NamingStrategy.underline_to_camel)
.setEntityBuilderModel(true)
.setInclude(tableNames);//修改替换成你需要的表名,多个表名传数组

config.setActiveRecord(false)
.setOutputDir("src/main/java")
.setEnableCache(false)
.setFileOverride(true);
if (!serviceNameStartWithI) {
config.setServiceName("%sService");
}

new AutoGenerator().setGlobalConfig(config)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(
new PackageConfig()
.setParent(packageName)
.setController("controller")
.setMapper("dao")
.setEntity("entity")
).execute();
}

public static void main(String[] args) {
MybatisPlusUtil.generateCode();
}
}

3、执行即可生成controller、service、dao、entiy层代码



posted @ 2021-04-07 16:49  樊文鹏  阅读(115)  评论(0)    收藏  举报