返回顶部
首页 > 资讯 > 精选 >如何使用代码生成器自定义Entity
  • 430
分享到

如何使用代码生成器自定义Entity

2023-06-30 15:06:24 430人浏览 安东尼
摘要

今天小编给大家分享一下如何使用代码生成器自定义Entity的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。代码生成器自定义En

今天小编给大家分享一下如何使用代码生成器自定义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;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”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

    --结束END--

    本文标题: 如何使用代码生成器自定义Entity

    本文链接: https://lsjlt.com/news/329895.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • 如何使用代码生成器自定义Entity
      今天小编给大家分享一下如何使用代码生成器自定义Entity的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。代码生成器自定义En...
      99+
      2023-06-30
    • 使用代码生成器自定义Entity的部分注解
      目录代码生成器自定义Entity部分注解前因查找了我的代码生成器那个配置类随后在templates/entity.java.ftl里还有一点代码生成器最新版配置方案代码生成器自定义E...
      99+
      2024-04-02
    • mybatis代码生成+自定义注解+自定义注释实例
      目录mybatis代码生成配置文件配置类自定义的lombok注解配置代码注释配置mybatis代码生成 <!--mybatis的包和反向生成的包__用来生成...
      99+
      2024-04-02
    • GORM GEN 生成代码如何自定义方法和表名
      GORM GEN: 是安全&友好的go orm 框架,基于gorm,支持多种数据库,mysql、sqlserver、postgres以及clickhouse等,通过代码生成的方式,生成安全&友好的or...
      99+
      2023-08-31
      go gorm mybatis 数据库 mysql
    • 代码演示Mybatis-Generator 扩展自定义生成
      生成的注释不是我们想要的,我们期望的是根据数据库表、字段生成不同的注释; 分页代码生成缺失,每个公司的分页方式不同,尤其是老久项目或已发布API,不能随意变动,那么如何自适应分页代码生成; Mapper.xml没有group by相关代码...
      99+
      2020-05-21
      代码演示Mybatis-Generator 扩展自定义生成
    • 如何使用IDEA代码生成器
      本篇内容主要讲解“如何使用IDEA代码生成器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用IDEA代码生成器”吧!基本使用IDEA 自带很多常用的动态模...
      99+
      2024-04-02
    • 自定义golang函数实现的代码生成和自动化
      在 go 中,可通过创建自定义函数来实现代码生成和自动化。代码生成函数接收参数列表,返回生成的代码和一个 error。自动化函数使用格式化的输出自动执行任务,接收参数列表并返回一个 er...
      99+
      2024-04-27
      git golang
    • mybatis-generator如何自定义注释生成
      目录前言正文1.实现CommentGenerator接口2.配置generator.xml3.运行方法1. java方式(个人推荐)方法2. maven方式4.可能出现的问题4.1 ...
      99+
      2024-04-02
    • PHP如何自定义生成二维码跳转地址
      PHP如何自定义生成二维码跳转地址,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。比较简单的一款PHP自定义生成二维码跳转地址,手机端微信扫码,自动跳转到定义好的链接。支持自定义...
      99+
      2023-06-04
    • 如何在Java中使用路径来生成自定义二维码对象?
      Java是一种广泛使用的编程语言,因其跨平台性和易于学习的特点而受到了广泛的认可。在这篇文章中,我们将介绍如何在Java中使用路径来生成自定义二维码对象。 二维码是一种可以快速扫描的矩形图形,其中包含了一些信息,例如URL、文本和其他数据。...
      99+
      2023-08-29
      二维码 对象 path
    • Java IDE中的二维码生成器:一键生成自定义二维码
      Java IDE中的二维码生成器:一键生成自定义二维码 随着二维码在各个领域的广泛应用,越来越多的开发者需要在自己的应用程序中集成二维码生成功能。而Java作为一种广泛应用于企业级应用开发的编程语言,其IDE中的二维码生成器也越来越受到开发...
      99+
      2023-11-01
      ide 二维码 关键字
    • Java IDE中的二维码生成器:快速生成自定义二维码
      Java IDE中的二维码生成器:快速生成自定义二维码 随着移动互联网的发展,二维码已经成为了一种非常重要的信息传递方式。在日常生活中,我们经常会看到各种各样的二维码,例如扫描二维码支付、扫描二维码登录等等。而在Java开发中,我们也经常需...
      99+
      2023-11-01
      ide 二维码 关键字
    • Python、Linux和Apache:如何生成可自定义的二维码?
      随着二维码在各个领域的应用日益普及,越来越多的人开始关注如何生成可自定义的二维码。在这篇文章中,我们将介绍如何使用Python、Linux和Apache生成可自定义的二维码。 一、Python生成二维码 Python是一种强大的编程语言,...
      99+
      2023-07-23
      linux apache 二维码
    • 如何将自定义函数集成到PHP代码中?
      在 php 中,您可以通过三个步骤集成自定义函数:创建函数加载函数调用函数这可通过以下方式应用于实际案例:创建一个计算矩形面积的自定义函数在代码中加载该函数调用函数多次以计算不同矩形的面...
      99+
      2024-04-18
      php 自定义函数 代码可读性
    • python实现自动生成C++代码的代码生成器
      遇到的问题 工作中遇到这么一个事,需要写很多C++的底层数据库类,但这些类大同小异,无非是增删改查,如果人工来写代码,既费力又容易出错;而借用python的代码自动生成,可以轻松搞定...
      99+
      2024-04-02
    • 使用Java如何自定义一个迭代器
      使用Java如何自定义一个迭代器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体如下:编写自己的Iterator,实现Iterator接口,这里多说一句,实现Iterab...
      99+
      2023-05-31
      java 自定义 迭代器
    • 如何使用python写一段自定义异常代码
      这篇文章主要为大家展示了“如何使用python写一段自定义异常代码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用python写一段自定义异常代码”这篇文...
      99+
      2024-04-02
    • Go x/crypto/bcrypt:生成密码哈希时使用自定义盐
      有志者,事竟成!如果你在学习Golang,那么本文《Go x/crypto/bcrypt:生成密码哈希时使用自定义盐》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个...
      99+
      2024-04-05
    • MyBatis-Plus——代码自动生成器
      📢📢📢📣📣📣 哈喽!大家好,我是【一心同学】,一位上进心十足的【Java领域博主】!😜😜😜...
      99+
      2023-09-08
      java mybatis plus 代码自动生成 增删查改
    • python生成器怎么定义和使用
      本文小编为大家详细介绍“python生成器怎么定义和使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“python生成器怎么定义和使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. 生成器概念生成器(英文:...
      99+
      2023-07-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作