返回顶部
首页 > 资讯 > 后端开发 > Python >使用代码生成器自定义Entity的部分注解
  • 601
分享到

使用代码生成器自定义Entity的部分注解

2024-04-02 19:04:59 601人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录代码生成器自定义Entity部分注解前因查找了我的代码生成器那个配置类随后在templates/entity.java.ftl里还有一点代码生成器最新版配置方案代码生成器自定义E

代码生成器自定义Entity部分注解

mybatis-plus代码生成器的entity模板进行部分自定义

此文章观看前提:已经能用mybatis-plus自动生成代码

前因

因为原有模板自动生成的entity为下面这样,表字段为name,age,number,但我想生成图2的样子,在每个字段前面添加个注解@apiModelProperty()

查找了我的代码生成器那个配置类

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

随后在templates/entity.java.ftl里

找到模板生成的代码,然后在属性模板前面加上这个代码

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

还有一点

记得在配置类中设置开启 swagger2 模式

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

因为最近写项目使用到了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();
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 使用代码生成器自定义Entity的部分注解

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

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

猜你喜欢
  • 使用代码生成器自定义Entity的部分注解
    目录代码生成器自定义Entity部分注解前因查找了我的代码生成器那个配置类随后在templates/entity.java.ftl里还有一点代码生成器最新版配置方案代码生成器自定义E...
    99+
    2024-04-02
  • 如何使用代码生成器自定义Entity
    今天小编给大家分享一下如何使用代码生成器自定义Entity的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。代码生成器自定义En...
    99+
    2023-06-30
  • mybatis代码生成+自定义注解+自定义注释实例
    目录mybatis代码生成配置文件配置类自定义的lombok注解配置代码注释配置mybatis代码生成 <!--mybatis的包和反向生成的包__用来生成...
    99+
    2024-04-02
  • 自定义golang函数实现的代码生成和自动化
    在 go 中,可通过创建自定义函数来实现代码生成和自动化。代码生成函数接收参数列表,返回生成的代码和一个 error。自动化函数使用格式化的输出自动执行任务,接收参数列表并返回一个 er...
    99+
    2024-04-27
    git golang
  • Java IDE中的二维码生成器:一键生成自定义二维码
    Java IDE中的二维码生成器:一键生成自定义二维码 随着二维码在各个领域的广泛应用,越来越多的开发者需要在自己的应用程序中集成二维码生成功能。而Java作为一种广泛应用于企业级应用开发的编程语言,其IDE中的二维码生成器也越来越受到开发...
    99+
    2023-11-01
    ide 二维码 关键字
  • Java IDE中的二维码生成器:快速生成自定义二维码
    Java IDE中的二维码生成器:快速生成自定义二维码 随着移动互联网的发展,二维码已经成为了一种非常重要的信息传递方式。在日常生活中,我们经常会看到各种各样的二维码,例如扫描二维码支付、扫描二维码登录等等。而在Java开发中,我们也经常需...
    99+
    2023-11-01
    ide 二维码 关键字
  • 详解mybatis generator代码生成器的使用
    MyBatis Generator简介 MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器。它将为所有版本的MyBatis以及...
    99+
    2024-04-02
  • 怎么使用MyBatis的自定义注解
    要使用MyBatis的自定义注解,首先需要定义一个注解并在需要使用的地方进行标注。然后在MyBatis的配置文件中设置对应的处理器,...
    99+
    2024-03-08
    MyBatis
  • 详解Java中自定义注解的使用
    目录什么是注解注解的注意事项注解的本质自定义注解使用使用方式 1使用方式 2什么是注解 在早期的工作的时候 ,自定义注解写的比较多,可大多都只是因为 这样看起来 不会存在一堆代码耦合...
    99+
    2023-03-20
    Java自定义注解使用 Java自定义注解 Java 注解
  • Go x/crypto/bcrypt:生成密码哈希时使用自定义盐
    有志者,事竟成!如果你在学习Golang,那么本文《Go x/crypto/bcrypt:生成密码哈希时使用自定义盐》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个...
    99+
    2024-04-05
  • 使用自定义注解实现redisson分布式锁
    目录自定义注解实现redisson分布式锁自定义注解aop解析注解service中使用注解加锁使用redisson分布式锁应用应用场景Redisson管理类分布式锁测试类自定义注解实...
    99+
    2024-04-02
  • MybatisPlus代码生成器的使用方法详解
    搭建测试的数据库和表数据的SQL SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- -------------------...
    99+
    2024-04-02
  • 自动生成代码controller tool的简单使用
    目录介绍controller-tools介绍 在上一篇code-generator简单介绍中重点介绍了如何使用code-generator来自动生成代码,通过自动生成的代码可以帮助我...
    99+
    2024-04-02
  • SpringBoot使用自定义注解+AOP+Redis实现接口限流的实例代码
    目录为什么要限流限流背景实现限流1、引入依赖2、自定义限流注解3、限流切面4、写一个简单的接口进行测试5、全局异常拦截6、接口测试为什么要限流 系统在设计的时候,我们会有一个系统的预...
    99+
    2024-04-02
  • 如何利用Mybatis-Plus自动生成代码(超详细注解)
    如何利用Mybatis-Plus自动生成代码(超详细注解) 1、简介2、代码生成器3、详细使用教程3.1 两个mysql数据库:3.2 创建springboot项目3.3 添加依赖3.5 编辑...
    99+
    2023-08-31
    mybatis java mysql 数据库
  • 详解Java拦截器以及自定义注解的使用
    目录1,设置预处理,设置不需要拦截的请求2.UserTokenInterceptor ,securityInterceptor分别处理不同的请求拦截,执行不同的拦截逻辑。3.关于注解...
    99+
    2024-04-02
  • MyBatisPlus代码生成器的使用示例
    目录导入依赖表结构当前项目结构配置代码生成器1、globalConfig 全局策略配置2、dataSourceConfig 数据源配置AutoGenerator 是 MyBatis-...
    99+
    2024-04-02
  • 基于自定义校验注解(controller、method、(groups)分组的使用)
    目录1、首先创建两个自定义校验注解类2、校验注解的使用1>、controller中的使用2>、方法中触发注解3>、分组groups的使用单个注解用在方法上(@Val...
    99+
    2024-04-02
  • 如何使用自定义注解实现redisson分布式锁
    这篇文章主要讲解了“如何使用自定义注解实现redisson分布式锁”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用自定义注解实现redisson分布式锁”吧!自定义注解实现rediss...
    99+
    2023-06-29
  • MyBatis Generator ORM层面的代码自动生成器怎么使用
    这篇文章主要介绍了MyBatis Generator ORM层面的代码自动生成器怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MyBatis Generator ...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作