溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis-generator 配合tk.mapper 代碼自動生成 坑

發布時間:2020-10-24 04:17:57 來源:網絡 閱讀:2800 作者:北極冷冷冷 欄目:編程語言

記錄 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=""/&gt;--&gt;<br/>&lt;!-- &lt;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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女