记录 tk.mybatis.mapper.generator.TemplateFilePlugin templatePath 的坑
generatorConfiguration.xml 配置文件
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<properties resource="generator/config.properties"/>
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper,tk.mybatis.mapper.common.MySqlMapper"/>
<!-- caseSensitive 是否区分大小写,默认值 false。如果数据库区分大小写,这里就需要配置为 true,这样当表名为 USER 时,会生成 @Table(name = "USER") 注解,否则使用小写 user 时会找不到表。 -->
<!-- <property name="caseSensitive" value="false"/>-->
<!-- forceAnnotation 是否强制生成注解,默认 false,如果设置为 true,不管数据库名和字段名是否一致,都会生成注解(包含 @Table 和 @Column)。 -->
<!-- <property name="forceAnnotation" value="false"/>-->
<!-- beginningDelimiter 和 endingDelimiter 开始和结束分隔符,对于有关键字的情况下适用。-->
<!-- <property name="beginningDelimiter" value=""/>--><br/><!-- <property name="endingDelimiter" value="
"/>-->
<!-- useMapperCommentGenerator 是否使用通用 Mapper 提供的注释工具,默认 true 使用,这样在生成代码时会包含字段的注释(目前只有 mysql 和 oracle 支持),设置 false 后会用默认的,或者你可以配置自己的注释插件。-->
<!-- <property name="useMapperCommentGenerator " value="true"/>-->
<!-- generateColumnConsts 在生成的 model中,增加字段名的常量,便于使用 Example 拼接查询条件的时候使用。-->
<!-- <property name="generateColumnConsts" value="`"/> -->
<!-- lombok 增加 model 代码生成时,可以直接生成 lombok 的 @Getter@Setter@ToString@Accessors(chain = true) 四类注解, 使用者在插件配置项中增加 <property name="lombok" value="Getter,Setter,ToString,Accessors"/> 即可生成对应包含注解的 model 类。-->
<!-- <property name="lombok" value="Getter,Setter,ToString,Accessors"/>-->
<property name="lombok" value="Data"/>
<property name="swagger" value="true"/>
</plugin>
<!--mapper接口-->
<plugin type="tk.mybatis.mapper.generator.TemplateFilePlugin">
<property name="targetProject" value="src/main/java"/>
<property name="targetPackage" value="com.jcbjcb.tools.generator.mapper"/>
<property name="templatePath" value="file:src\main\resources\generator/template/mapper.ftl"/>
<property name="mapperSuffix" value="Mapper"/>
<property name="fileName" value="${tableClass.shortClassName}${mapperSuffix}.java"/>
<!--默认值是下面这个,可以不配置-->
<property name="templateFormatter"
value="tk.mybatis.mapper.generator.formatter.FreemarkerTemplateFormatter"/>
<property name="encoding" value="UTF-8"/>
</plugin>
<!--输出单个文件,每个表都会生成一个对应的文件 biz-->
<plugin type="tk.mybatis.mapper.generator.TemplateFilePlugin">
<property name="targetProject" value="src/main/java"/>
<property name="targetPackage" value="com.jcbjcb.tools.generator.biz"/>
<property name="templatePath" value="file:src\main\resources\generator/template/biz.ftl"/>
<property name="mapperSuffix" value="Biz"/>
<property name="fileName" value="${tableClass.shortClassName}${mapperSuffix}.java"/>
<!--默认值是下面这个,可以不配置-->
<property name="templateFormatter"
value="tk.mybatis.mapper.generator.formatter.FreemarkerTemplateFormatter"/>
<property name="encoding" value="UTF-8"/>
</plugin>
<!--输出单个文件,每个表都会生成一个对应的文件 controller-->
<plugin type="tk.mybatis.mapper.generator.TemplateFilePlugin">
<property name="targetProject" value="src/main/java"/>
<property name="targetPackage" value="com.jcbjcb.tools.generator.control"/>
<property name="templatePath" value="file:src\main\resources\generator/template/controller.ftl"/>
<property name="mapperSuffix" value="Controller"/>
<property name="fileName" value="${tableClass.shortClassName}${mapperSuffix}.java"/>
<!--默认值是下面这个,可以不配置-->
<property name="templateFormatter"
value="tk.mybatis.mapper.generator.formatter.FreemarkerTemplateFormatter"/>
<property name="encoding" value="UTF-8"/>
</plugin>
<jdbcConnection driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.url}"
userId="${jdbc.user}"
password="${jdbc.password}">
</jdbcConnection>
<javaModelGenerator targetPackage="com.jcbjcb.tools.generator.entity"
targetProject="src/main/java"/>
<sqlMapGenerator targetPackage="mapper"
targetProject="src/main/resources"/>
<!-- <javaClientGenerator targetPackage="com.jcbjcb.generator.mapper"-->
<!-- targetProject="src/main/java"-->
<!-- type="XMLMAPPER"/>-->
<table tableName="tab_school">
<generatedKey column="id" sqlStatement="mysql" identity="true"/>
</table>
</context>
</generatorConfiguration>
坑:<property name="templatePath" value="file:src\main\resources\generator/template/mapper.ftl"/>
必须加 file: 路径相对路径 不能写成:generator/template/mapper.ftl
参考 :https://github.com/abel533/Mapper/tree/master/generator
https://github.com/abel533/Mapper/issues/543
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。