亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何使用代碼生成器自定義Entity

發布時間:2022-05-21 14:46:31 來源:億速云 閱讀:589 作者:iii 欄目:開發技術

今天小編給大家分享一下如何使用代碼生成器自定義Entity的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    代碼生成器自定義Entity部分注解

    對mybatis-plus代碼生成器的entity模板進行部分自定義

    此文章觀看前提:已經能用mybatis-plus自動生成代碼

    前因

    因為原有模板自動生成的entity為下面這樣,表字段為name,age,number,但我想生成圖2的樣子,在每個字段前面添加個注解@ApiModelProperty()

    如何使用代碼生成器自定義Entity

    如何使用代碼生成器自定義Entity

    查找了我的代碼生成器那個配置類

    debug了最后要生成模板的兩句,找到了我的entity的生成模板為/templates/entity.java.ftl(因為模板引擎是freemarker,所以后綴為ftl)

    如何使用代碼生成器自定義Entity

    如何使用代碼生成器自定義Entity

    隨后在templates/entity.java.ftl里

    找到模板生成的代碼,然后在屬性模板前面加上這個代碼

    如何使用代碼生成器自定義Entity

    <#if swagger2>
        @ApiModelProperty(value = "${field.propertyName}",dataType = "${field.propertyType}",required = true)
    </#if>

    還有一點

    記得在配置類中設置開啟 swagger2 模式

    如何使用代碼生成器自定義Entity

    代碼生成器最新版配置方案

    因為最近寫項目使用到了MyBatis-Plus,所以去官網找到了一個代碼生成器的新版,現在網上能查到的都是之前的舊版生成器代碼,官方提供的快速生成沒有開啟Lombok、RestController還有很多自定義類名的策略。

    新版對依賴版本有要求,適用版本:mybatis-plus-generator 3.5.1 及其以上版本,對歷史版本不兼容!

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.5.1</version>
    </dependency>
    <!--對MyBatisPlus代碼生成器進行支持的模板引擎-->
    <dependency>
         <groupId>org.freemarker</groupId>
         <artifactId>freemarker</artifactId>
         <version>2.3.30</version>
    </dependency>
    <dependency>
         <groupId>com.baomidou</groupId>
         <artifactId>mybatis-plus-boot-starter</artifactId>
         <version>3.5.1</version>
    </dependency>

    本著喜新厭舊的初心,我根據官方文檔配置了一個新版常用的快速生成器,修改數據庫配置并設計好表之后填入表名直接運行使用就行了,如果要配置詳細的策略請去官網查文檔配置。MyBatis代碼生成器官方文檔 

    import com.baomidou.mybatisplus.generator.FastAutoGenerator;
    import com.baomidou.mybatisplus.generator.config.OutputFile;
    import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
    import xyz.tylt.controller.BaseController;
    import java.util.Collections;
    /*
     * MyBatisPlus代碼生成器
     */
    public class CodeGenerator {
        public static void main(String[] args) {
            String drive = "D://";
            String xmlpath = drive + "xyz//resource//mapper";
            String projectPath = System.getProperty("user.dir");
            FastAutoGenerator.create("jdbc:mysql://localhost:3306/databasename?useSSl=ture&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8", "root", "1234")
                    .globalConfig(builder -> {
                        builder.author("tylt6688")// 設置作者
                                .enableSwagger() // 開啟 swagger 模式
                                .fileOverride() // 覆蓋已生成文件
                                .outputDir(drive); // 指定輸出目錄
                    })
                    .packageConfig(builder -> {
                        builder.parent("xyz.tylt") // 設置父包名
    //                            .moduleName("system") // 設置父包模塊名
                                .pathInfo(Collections.singletonMap(OutputFile.mapperXml, xmlpath)); // 設置mapperXml生成路徑
                    })
                    //實體策略配置
                    .strategyConfig(builder -> {
                        builder.entityBuilder()
                                //開啟Lombok,默認生成@Get,@Set,可以手動換成@Data
                                .enableLombok();
                    })
                    //控制類策略配置
                    .strategyConfig(builder -> {
                        builder.controllerBuilder()
                                 //如果沒有父類請注釋掉
                                .superClass(BaseController.class)
                                .enableRestStyle();
                    })
                    //服務類策略配置
                    .strategyConfig(builder -> {
                        builder.serviceBuilder()
                                .formatServiceFileName("%sService")
                                .formatServiceImplFileName("%sServiceImp");
                    })
                    .strategyConfig(builder -> {
                        builder.addInclude("tb_teachplan")// 設置數據庫中表名,按其中屬性內容進行生成
    //                            .addInclude("tb_floor")
    //                            .addInclude("tb_room")
                                .addTablePrefix("tb_", "c_", "sys_"); // 設置過濾表前綴進行生成
                    })
                    .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默認的是Velocity引擎模板
                    .execute();
        }
    }

    以上就是“如何使用代碼生成器自定義Entity”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

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

    AI

    德保县| 建德市| 施秉县| 高邑县| 泰安市| 慈溪市| 三原县| 玉溪市| 温泉县| 封丘县| 韶关市| 南开区| 远安县| 新晃| 克山县| 亚东县| 五河县| 云霄县| 县级市| 山丹县| 乌鲁木齐县| 德庆县| 盐津县| 汕尾市| 庐江县| 邮箱| 台北市| 荔浦县| 伊春市| 黔东| 昭通市| 海阳市| 宁都县| 息烽县| 浦江县| 游戏| 桂平市| 宜兰市| 青岛市| 陕西省| 麻阳|