欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MyBatisPlus3.x代码生成器自定义模板配置

程序员文章站 2022-07-13 09:19:53
...

场景

MyBatisPlus3.x中使用代码生成器(全注释):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89518466

MyBatisPlus中使用 @TableField完成字段自动填充:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89450006

 

在生成serviceImpl时需要加@Transactional事务注解,这时需要自定义模板。

实现

在上面代码生成器的基础上。

找到MyBatisPlus自带的模板,比如这里要修改serviceImpl模板。

项目中导入MyBatisPlus相关jar包,找到如下位置。

如果找不到,这里进行下载:

https://download.csdn.net/download/badao_liumang_qizhi/11143929

MyBatisPlus3.x代码生成器自定义模板配置

手动将其复制templates目录下

MyBatisPlus3.x代码生成器自定义模板配置MyBatisPlus3.x代码生成器自定义模板配置

双击打开

package ${package.ServiceImpl};

import ${package.Entity}.${entity};
import ${package.Mapper}.${table.mapperName};
import ${package.Service}.${table.serviceName};
import ${superServiceImplClassPackage};
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * <p>
 * $!{table.comment} 服务实现类
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
@Service
#if(${kotlin})
open class ${table.serviceImplName} : ${superServiceImplClass}<${table.mapperName}, ${entity}>(), ${table.serviceName} {

}
#else
public class ${table.serviceImplName} extends ${superServiceImplClass}<${table.mapperName}, ${entity}> implements ${table.serviceName} {

}
#end

添加如**解

MyBatisPlus3.x代码生成器自定义模板配置MyBatisPlus3.x代码生成器自定义模板配置

然后来到代码生成器的代码这里

 //注入全局设置
        new AutoGenerator().setGlobalConfig(config)
                //注入数据源配置
                .setDataSource(dataSourceConfig)
                //注入策略配置
                .setStrategy(strategyConfig)
                //设置包名信息
                .setPackageInfo(
                        new PackageConfig()
                                //提取公共父级包名
                                .setParent("com.badao.bus.sys")
                                //设置controller信息
                                .setController("controller")
                                //设置实体类信息
                                .setEntity("entity")
                )
                //设置自定义模板
                .setTemplate(
                        new TemplateConfig()
                                //.setXml(null)//指定自定义模板路径, 位置:/resources/templates/entity2.java.ftl(或者是.vm)
                                //注意不要带上.ftl(或者是.vm), 会根据使用的模板引擎自动识别
                                // 自定义模板配置,模板可以参考源码 /mybatis-plus/src/main/resources/template 使用 copy
                                // 至您项目 src/main/resources/template 目录下,模板名称也可自定义如下配置:
                                // .setController("...");
                                // .setEntity("...");
                                // .setMapper("...");
                                // .setXml("...");
                                // .setService("...");
                                 .setServiceImpl("templates/serviceImpl.java")
                )
                //开始执行代码生成
                .execute();

注意

注意不要带上.ftl(或者是.vm), 会根据使用的模板引擎自动识别
指定自定义模板路径, 位置:/resources/templates/entity2.java.ftl(或者是.vm)