Java代码生成

一个智能省心的空空java代码生成平台上线了——前后端代码生成 一、前言 今天这篇文章,是向大家推荐一款笔者研发的java web代码生成平台,它能为你节约不必要的开发时间,提升开发效率。 不需要登录,不需要注册!不需要登录,不需要注册!不需要登录,不需要注册! 二、空空java代码生成平台简介 体验地址:https://java.iszoutao.com/。 简单介绍: JavaCodeGenerator( 空空JAVA代码生成平台 ),又名空空JAVA代码生成器,是一个可以帮你自动完成SQL转JAVA、SQL转JPA、SQL转Mybatis、SQL转实体类的代码生成 阅读详情

目录

MyBatis-Plus 代码生成器的介绍

引入依赖

生成代码

生成结果


       在很多开源的后台管理系统当中都有代码生成的工具,帮助开发者完成通用代码的生成,比如生成 Controller、Service、Dao 和 XML 文件等,能够帮助开发者生成通用的CRUD 代码。还能帮助开发者生成统一的后台列表页面和表单页面,以方便开发者可以快速的完成自己业务的开发,而忽略那些重复而又繁琐的工作。其实在开发框架中也有一些简单的代码生成的工具,比如接下来要介绍的 mybatis-plus 提供的代码生成。

MyBatis-Plus 代码生成器的介绍

        引用 MyBatis-Plus 官网的说明,如下:

AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。

https://mp.baomidou.com/guide/generator.html#使用教程

引入依赖

       MyBatis-Plus 官网有较为详细的说明,不过对于刚开始接触的话完全可以通过拿来现成的代码使用。

        使用 SpringBoot 来测试一下 Mybatis-Plus 代码生成的功能。

        SpringBoot 项目中使用代码生成器需要引入一些依赖,依赖如下:

<!-- MySql -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<!-- Lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>
<!-- MyBatis-Plus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.5</version>
</dependency>
<!-- 模板引擎 -->
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.0</version>
</dependency>
<!-- Mybatis-Plus-Generator -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.1</version>
</dependency>

生成代码

        引入上面的依赖以后,下面的代码其实进行简单的修改就可以完成自己的代码生成,非常的方便。

public class CodeGenerator {
    public static void main(String[] args) {

        // 构建一个代码生成对象
        AutoGenerator mpg = new AutoGenerator();

        // 1. 全局配置
        GlobalConfig gc = new GlobalConfig();

        String separator = File.separator;
        gc.setOutputDir("/Users/xxx/Documents/demo/src/main/java");
        gc.setAuthor("码农UP2U");
        gc.setOpen(false);//打开目录
        gc.setFileOverride(true);//是否覆盖
        gc.setServiceName("%sService");//去Service的I前缀。
        gc.setIdType(IdType.ID_WORKER);
        gc.setDateType(DateType.ONLY_DATE);
        gc.setSwagger2(false);

        mpg.setGlobalConfig(gc);

        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://ip:port/data?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("password");
        dsc.setDbType(DbType.MYSQL);

        mpg.setDataSource(dsc);

        // 包设置
        PackageConfig pc = new PackageConfig();

        pc.setParent("com.example.demo");
        pc.setEntity("entity");
        pc.setMapper("mapper");
        pc.setController("controller");

        mpg.setPackageInfo(pc);

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setInclude("ums_member");//表名
        strategy.setNaming(NamingStrategy.underline_to_camel);// 下划线转他驼峰
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);// 列 下划线转脱发
        strategy.setEntityLombokModel(true);//lombok 开启
        strategy.setLogicDeleteFieldName("deleted");

        // 自动填充
        TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);
        TableFill gmtModify = new TableFill("gmt_modified", FieldFill.INSERT_UPDATE);
        ArrayList<TableFill> tableFills = new ArrayList<>();
        tableFills.add(gmtCreate);
        tableFills.add(gmtModify);

        strategy.setTableFillList(tableFills);
        // restcontroller
        strategy.setRestControllerStyle(true);
        strategy.setControllerMappingHyphenStyle(true);// localhost:xxx/hello_2

        mpg.setStrategy(strategy);

        mpg.execute();
    }
}

        上面的代码中,设置生成文件的路径,设置数据库的连接,设置包名,设置表相关的内容等。代码简单的易懂,就不做过多说明。

生成结果

        运行上面的代码,来看一下生成的内容,如下图:

图片

       从图中可以看出,生成的内容有 controller、entity、dao 和 service。基本上省去了我们一些手动需要完成的工作,还是比较方便的。代码有一些部分是通用的,一部分是可能是自定义的,可以将整个代码进行封装,使得使用更加的方便的。

图片

Java 领域中 Eclipse 的代码生成模板使用 本文旨在全面介绍Eclipse IDE中代码生成模板的使用方法,帮助Java开发者提高编码效率。内容涵盖基础模板使用、自定义模板创建、模板变量应用以及高级技巧。文章首先介绍基本概念,然后深入讲解模板创建和使用方法,接着通过实际案例展示应用场景,最后讨论高级技巧和最佳实践。代码模板(Code Template): 预定义的代码片段,可通过快捷键或上下文菜单快速插入代码生成(Code Generation): 自动创建代码的过程,通常基于模板和上下文信息变量(Variable) 阅读详情

相关推荐

Java注解代码生成

Java注解代码生成 最近本着不求甚解的态度重温了一下主流框架的源码,所以趁热打铁的总结一下,学习框架或开发框架所必备的基础知识: Java反射 Java注解 注解代码自动生成 Java动态代理 AOP 简介 在我们常用的框架中注解和自动生成代码的身影很常见,因为注解和自动生成的配合,从而简化和统一代码,使框架使用简单且容易扩展,典型且最熟悉的就是ButterKnife,主要功能利用注解省略了...

浅谈Android 3480

java自动代码生成

可在线自动生成代码,省去复制、修改通用模板代码的繁琐过程,减少团队70%以上的开发工作量基于java的template模板引擎velocity,在定义好模板文件后,动态产生适应业务的java、xml、html、sql等代码文件。

Yang_RR的博客 5599

Java领域中Java-EE的代码生成工具推荐

随着Java-EE应用开发的复杂度不断增加,手动编写大量重复代码的工作变得繁琐且容易出错。代码生成工具可以根据预定义的模板和规则自动生成代码,节省开发时间和精力。本文的目的是全面介绍Java-EE领域中常见的代码生成工具,包括它们的特点、优缺点以及适用场景。范围涵盖了开源和商业的多种代码生成工具,帮助开发者了解不同工具的功能和适用范围。本文将首先介绍代码生成工具的核心概念和基本原理,然后详细讲解几种常见的Java-EE代码生成工具,包括它们的算法原理、具体操作步骤和数学模型(如果适用)。

AI开发架构师 1649

Java快速开发之代码生成器

观察我们之前写的代码,会发现其中也会有很多重复内容,比如:那我们就想,如果我想做一个Book模块的开发,是不是只需要将红色部分的内容全部更换成Book即可,如:所以我们会发现,做任何模块的开发,对于这段代码,基本上都是对红色部分的调整,,以后只需要传入不同的参数,就可以根据模板创建出不同模块的dao代码。除了Dao可以抽取模块,其实我们常见的类都可以进行抽取,只要他们有公共部分即可。所以只要我们知道是对哪张表进行代码生成,这些内容我们都可以进行填充。

weixin_64051447的博客 4267

Java 领域中 Eclipse 的代码生成工具推荐

在 Java 开发中,开发者常常需要编写大量样板代码,如 getter 和 setter 方法、构造函数、equals 和 hashCode 方法等。这些代码的编写不仅繁琐,还容易出错。Eclipse 作为一款流行的 Java 集成开发环境,提供了丰富的代码生成工具,能够自动化生成这些重复性代码,提高开发效率和代码质量。本文的目的是介绍 Eclipse 中常用的代码生成工具,包括它们的功能、使用方法和适用场景,帮助开发者更好地利用这些工具进行 Java 开发。

AI开发架构师 767

java代码自动生成器 ,通过页面生成

java代码自动生成器 ,通过页面生成 单表,一对一,一对多,多对多代码.支持无限级联,支持所有关系型数据库.支持spring-boot整合

Java中的代码生成

代码生成是指通过模板或模型自动生成源代码的过程。这种技术可以极大地减少重复性工作,提高代码的质量和一致性。常见的代码生成方式包括模板引擎、模型驱动设计、解析器生成器和AI辅助工具。

weixin_46372265的博客 1196

E2000 RGMII0通讯异常问题总结

飞腾E2000 RGMII接YT8521,RGMII0路不通问题。

乌拉大喵喵 1630

Java代码生成器,一键在线生成,支持自定义模板

Java在线代码生成器,支持自定义代码模板,支持Mybatis、MybatisPlus、JPA多种ORM框架

欢迎光临 4646

某手 v8.x 签名计算方法(二) sig和__NS_sig3

一、目标 今天的目标是 sig和__NS_sig3,咱们抓个包先 二、步骤 sig目测像是MD5 先jadx搜索 sig= ,没有找到结果。 再试试 sig ,晕倒 6k多个结果,突然灵光一闪,这些参数,必然是要加入到 Map中,那么我们搜索 "sig" 应该就是这个 CPU.getClock,Hook之 var signCls = Java.use('com.yxcorp.xxx.util.CPU'); signCls.getClock.implementation = function(a,b,c

fenfei331的博客 2428

C语言头文件完全解析(连“#”我都给你讲明白)

C语言头文件完全解析 引言 本文将尽量详细的介绍c语言的头文件所包含的知识,如有错误,还望指正。 萌新们肯定疑惑为什么每次打代码都要写一个所谓的头文件(如:#include<stdio.h>),这里先简单让大家有个了解,你所用的 printf("%d",a)就是这个 stdio里的东西,如果没有这个头文件,编译器都不知道 printf是个什么东东。所以头文件就是一个准备好的大仓库,你可...

CRAZY_eyes的博客 7万+

Java中的代码生成工具

代码生成是指通过模板或模型自动生成源代码的过程。这种技术可以极大地减少重复性工作,提高代码的质量和一致性。常见的代码生成方式包括模板引擎、模型驱动设计、解析器生成器和AI辅助工具。代码生成工具可以根据预定义的模板或模型自动生成代码。这种工具能极大地减少手工编写重复代码的工作量,确保代码符合规范,并能在开发初期快速搭建应用框架。提高生产力:通过自动生成代码,减少开发时间。改进代码质量:模板和模型的使用确保了代码的一致性和规范性。降低开发成本:减少重复性劳动,开发者可以专注于更复杂的业务逻辑。

weixin_46372265的博客 2089

【车间调度】车间调度问题的分类

本系列为自己学习调度相关知识的记录,如有误请指出,也欢迎调度方向的小伙伴加我好友共同交流。 车间调度问题的分类 根据工件和车间构成不同,车间调度问题可分为以下几种 1.单机调度问题 在单机调度问题(S,SMP)中,加工系统只有一台机床,待加工的工件有且仅有一道工序,所有工件都在该机床上进行加工。此问题是最简单的调度问题,当生产车间出现瓶颈机床时的调度就可视为此调度问题。 ...

weixin_51656605的博客 7430

Java 代码生成:模板引擎与代码生成工具

Java 代码生成:模板引擎与代码生成工具 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 一、代码生成的概念 代码生成是一种自动化创建源代码的技术,通常用于加速开发过程,减少重复性编码工作。 二、模板引擎的作用 模板引擎是一种用于渲染模板文件的工具,它可以根据提供的模型数据生成输出文本...

weixin_41354302的博客 340

PS/Ai/PR/AE等adobe出现正版弹窗提示:Your non-genuine Adobe app will be disabled soon解决办法

就是用专门的清理工具下载,清理工具在文章下方。然后新建三个空的记事本文件,重命名为 Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe。在该文件目录中,分别找到 Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe,然后在防火墙入站规则里,阻止Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe。

Q82556499的博客 1万+

scratch经典游戏主题源码分享,包含了20多款经典游戏

经典游戏案例:1、360度角度射击游戏 2、捕鱼达人 3、超级马里奥 4、超级玛丽 5、吃豆人相关 6、穿着喷气背包的海龟 7、大鱼吃小鱼 8、俄罗斯方块 9、飞机大战 10、愤怒的小鸟 11、黄金矿工 12、节奏大师 13、连连看 14、迷宫游戏 15、跑酷游戏 16、扫雷 17、水果忍者 18、坦克大战 19、推箱子 20、消除泡泡 21、保卫萝卜 22、植物大战僵尸

IT_Scratch的博客 1万+

gRPC Java代码生成

本文讲述protocol buffer编译器会由协议定义文件生成什么样的代码。proto2和proto3的区别将被高亮——注意,本文说的是存在于生成代码中的区别,不是基本的消息类/接口——它们在这两个版本中是一样的。在开始本文之前,你应该先看一下proto2的语言指南和proto3语言指南。编译器调用Protocol buffer 编译器在遇到 –java_out= 命令行标识时会产生Java输出。

lyjshen的专栏 8941

分享一个我自用的 Python 消息发送模块,支持邮件、钉钉、企业微信

🔥 分享一个我自用的 Python 消息发送模块,支持邮件、钉钉、企业微信

XiaoqiangClub的博客 478

EasyJava 一个java代码生成工具

经过半个月的时间,终于把我自己写的java代码生成工具,录制成了视频教程。视频地址 https://www.bilibili.com/video/BV1EN4y1c7sL/ 接下来我们简单介绍下生成的项目结构 这个表有 一个自增ID,一个唯一索引 code,还有一个 联合唯一索引,我们会根据这些关键的表信息生成相关的方法 我就不把所有类都列举出来了,重点看下mapper.xml 可以生成 基本的 分页查询、单条插入、单条插入或者更新、批量插入、批量插入或者更新、根据主键、唯一索引 单挑查询、修改、删除具体

weixin_45574655的博客 3779

智能能效管家:基于 ESP32 的智能插座设计与精细化功耗管理实现

针对传统插座无法远程控制、功耗监测缺失、能源浪费严重等问题,本文设计一款基于 ESP32 主控芯片的智能插座。该系统集成 WiFi 无线通信、交流功耗采集、继电器通断控制模块,实现四大核心功能。硬件采用模块化选型与安全接线设计,软件基于 Arduino-ESP32 框架开发,搭载 Mqtt 通信协议与功耗算法,可通过手机 / 云端实时管控设备,有效提升用电安全性与能源利用率。:ESP32;智能插座;功耗管理;远程控制;能耗监测。

weixin_42300449的博客 101

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Java中的代码生成管理

在实际项目中,我们往往需要更灵活的代码生成方案。这时,自定义模板生成器就派上用场了。例如,利用Freemarker、Velocity等模板引擎,可以根据自定义模板生成代码。通过上述代码,我们可以根据模板文件生成自定义的Java类,大大提高了灵活性和适应性。

weixin_46372265的博客 1063

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

java代码生成平台

JAVA代码生成平台

ct1027038527的专栏 322

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

AI编程时代Java 代码生成变革

Java代码生成技术经历了从模板化到AI驱动的演变。传统方案如基于数据库的CRUD生成器(MyBatis Generator)、领域模型工具(JHipster)和UML建模工具,在AI时代面临不同命运:纯CRUD工具将被AI自然语言编程取代,UML建模因效率低下趋于淘汰,而封闭式低代码平台需改造开放才能生存。但ORM框架增强功能(如MyBatis-Plus)、Lombok等编译时工具将与AI协同,快速开发平台将转型为AI辅助的规范生成器。未来,DSL声明式编程和IaC配置生成等方案将因更适配AI而凸显价值。

老螺丝的技术人生 1106

java代码生成工具作用,Java应用开发中代码生成工具的作用

近来,随着各种代码生成工具的不断涌现(如SpringSource的Spring Roo、Skyway Builder Community Edition 6.3及Blu Age的M2Spring等),人们又将注意力转移到了这些代码生成工具在企业级Java应用开发中所起的作用。模型驱动开发(MDD)正获得越来越多的关注,而在一个典型的Java应用中有些内容完全是可以自动生成的。典型的Java Web...

weixin_42109125的博客 425

Java代码生成框架Java::Geci指南

Java代码生成框架Java::Geci指南 项目介绍 Java::Geci(Java Code Generation Framework)是一个用于生成Java代码的库,它允许开发者通过执行代码生成程序来创建新的源代码或修改现有的Java源文件。此框架利用元编程技术,使得代码表达更加简洁明了,超越传统Java编程方式的限制。Java::Geci能够自动发现待处理文件,并支持通过注解驱动的方式配置...

gitblog_00790的博客 959

Java中的动态代码生成

通过程序来生成代码是Java平台的固有特性。当Java程序编译的时候,Java编译器生成的是字节码而不是可执行程序。字节码是Java特有的格式,它本身并没有太大的用处。为了能执行字节码,它会在运行时被JVM的just-in-time编译器翻译成本地的机器代码。 Java的导论就先讲到这吧。大多数Java开发人员应该都听说过JIT编译,但它作为这个平台最强大的功能之一,即便你不了解它的细节,也...

spidercoco的专栏 636
上一篇: Docker 使用 MySQL
下一篇: jQuery 操作 class 属性笔记
码农UP2U
博客等级 码龄14年 6276粉丝 181原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农UP2U

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值