第一步
导入maven依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
第二步 编写代码自动生成工具类
String url = "jdbc:mysql://23.145.11.326:3306/db?useSSL=false&characterEncoding=utf8&nullCatalogMeansCurrent=true&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true&useInformationSchema=true";
String username = "root";
String password = "123456";
//表名集合
List<String> tables = new ArrayList<>();
tables.add("person");
FastAutoGenerator.create(url, username, password)
//全局配置
.globalConfig(builder -> {
builder.fileOverride() // 开启覆盖之前生成的文件
.disableOpenDir() //禁止打开输出目录
.outputDir(System.getProperty("user.dir") + "\\src\\main\\java") //指定输出目录
.author("guyuanzheng") //作者名
// .enableKotlin() //开启 kotlin 模式
// .enableSwagger() //开启 swagger 模式
.dateType(DateType.TIME_PACK) //时间策略
.commentDate("yyyy-MM-dd HH:mm:ss"); //注释日期
})
//包配置
.packageConfig(builder -> {
builder.parent("com.example.redis") //父包名
.entity("bean") //Entity 包名
.service("service") // Service 包名
.serviceImpl("service.impl") //Service Impl 包名
.mapper("mapper") //Mapper 包名
.xml("mapper.xml") // Mapper XML 包名
.controller("controller") //Controller 包名
.other("config") //自定义文件包名 输出自定义文件时所用到的包名
.pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + "\\src\\main\\resources\\mapper"));//指定xml位置
})
//策略配置
.strategyConfig(builder -> {
builder.addInclude(tables)
// .addTablePrefix("tbl_")//表名前缀,配置后生成的代码不会有此前缀
.serviceBuilder()
.formatServiceFileName("%sService")//服务层接口名后缀
.formatServiceImplFileName("%sServiceImpl")//服务层实现类名后缀
.entityBuilder()
//.enableLombok()//实体类使用lombok,需要自己引入依赖
//.logicDeleteColumnName("status")//逻辑删除字段,使用delete方法删除数据时会将status设置为1。调用update方法时并不会将该字段放入修改字段中,而是在条件字段中
.enableTableFieldAnnotation()//加上字段注解@TableField
.controllerBuilder()
.formatFileName("%sController")//控制类名称后缀
.enableRestStyle()
.mapperBuilder()
.superClass(BaseMapper.class)
.formatMapperFileName("%sMapper")
.enableMapperAnnotation()
.formatXmlFileName("%sMapper");
})
.execute();
注意:如果报下面异常说明maven依赖版本不兼容
Exception in thread "main" java.lang.NoSuchMethodError:
com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(Ljava/lang/CharSequence;)Z
at com.baomidou.mybatisplus.generator.FastAutoGenerator.create
转载于 mybatis-plus代码生成器_IT阿豪的博客-CSDN博客_mybatisplus 代码生成器