我要说的代码生成器的新版的 3.5.1+ 的
要使用mybatis-plus,就需要一个springboot项目,我之前写过,有不会的小伙伴可以去翻一翻
以下是在原有的springboot项目基础上进行的 喜欢的小伙伴 点点关注 给个三连
在pom.xml里面添加一下依赖
<!-- mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<!-- 代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!-- 模板引擎-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
<!-- swagger-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.3</version>
</dependency>
之后,重头戏来了,!!!!!!!!!
public static void main(String[] args) {
//1.配置数据源
FastAutoGenerator.create("jdbc:mysql://localhost:3306/send","root","root")
// 2.全局配置
.globalConfig(builder -> {
builder.author("初bai") // 设置作者
.outputDir(System.getProperty("user.dir") + "/src/main/java")
// 设置输出路径
.commentDate("yyyy-MM-dd hh:mm:ss") // 注释日期
.dateType(DateType.ONLY_DATE) // 定义生成实体类日期的类型
.fileOverride() // 覆盖之前的文件
.enableSwagger() // 开启 swagger 模式
.disableOpenDir(); // 禁止打开输出目录,默认打开
})
// 3.包配置
.packageConfig(builder -> {
builder.parent("com.chubai") // 设置父包名
.moduleName("send") // 设置模块包名
.entity("entity") // 实体类包名
.service("service") // service 包名
.serviceImpl("service.impl") // serviceImpl包名
.mapper("mapper") // mapper包名
.xml("xml") // xml包名
.controller("controller") // controller包名
.other("utils") // 其他文件包名
.other("enums") // 其他文件包名
.pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir") + "/src/main/java/com/chubai/send/mapper/xml")); // 配置 **Mapper.xml 路径信息:项目的 mapper 目录下
})
// 4.策略配置
.strategyConfig(builder -> {
builder.addInclude("sys_user","send_bomb","send_log") //设置需要生成的数据表名
.addTablePrefix("sys_","send_","send_") //设置需要过滤的前缀
//4.1实体类配置
.entityBuilder()
.enableLombok() //开启lombok
.disableSerialVersionUID() //不实现序列化接口
.logicDeleteColumnName("deleted") //逻辑删除字段
.naming(NamingStrategy.underline_to_camel) //数据库表映射到实体的命名策略,下划线转驼峰
.columnNaming(NamingStrategy.underline_to_camel) //数据库表字段映射到实体的命名策略,下划线转驼峰
.addTableFills(
new Column("create_time", FieldFill.INSERT),
new Column("modify_time", FieldFill.INSERT_UPDATE)
) //添加表字段填充,“create_time”自动填充入插入时间,“modify_time”自动填充修改时间
.enableTableFieldAnnotation() //开启生成实体类是生成字段注解
//4.2service配置
.serviceBuilder()
.formatServiceFileName("%sService") //格式化service接口文件名
.formatServiceImplFileName("%sServiceImpl") //格式化serviceImpl接口文件名
//4.3Mapper配置
.mapperBuilder()
.superClass(BaseMapper.class) //设置父类
.formatMapperFileName("%sMapper") //格式化mapper文件名
.enableMapperAnnotation() //开启@Mapper注解
.formatXmlFileName("%sXml") //格式化Xml 文件名
//4.4Controller配置
.controllerBuilder()
.formatFileName("%sController") //格式化controller文件名
.enableRestStyle(); //开启生成@RestController
})
// 5.模板引擎配置
.templateEngine(new FreemarkerTemplateEngine())
// 6.执行
.execute();
}
我这个可以直接拿来用,改个数据连接,表名,即可