代码自动生成工具——TableGo(实例演示)

news2024/11/16 21:59:43

一、常用的代码生成器工具介绍

        在SpringBoot项目开发中,为了提高开发效率,我们经常需要使用代码自动生成工具来生成一些重复性的代码,比如实体类、DAO、Service、Controller等等。下面介绍几个常用的代码自动生成工具:

①、MyBatis Generator

        MyBatis Generator是由MyBatis官方提供的一个代码自动生成工具,可以根据数据库表结构来生成Java代码,支持生成实体类、Mapper接口及对应的XML文件等。

使用MyBatis Generator比较简单,只需要在配置文件中指定数据库连接、数据表、生成的代码路径等信息,然后运行MyBatis Generator的命令即可。具体使用方法可以参考官方文档:MyBatis Generator Core – Introduction to MyBatis Generator

②、CodeSmith

        CodeSmith是一个功能非常强大的代码自动生成工具,支持多种语言,包括Java、C#、VB等,可以生成各种类型的代码,如实体类、DAO、Service、Controller等。

使用CodeSmith需要编写模板文件,模板文件中包含了代码生成规则和模板变量等,生成代码时会根据模板文件和数据库表结构生成对应的代码。CodeSmith提供了很多内置模板,也支持自定义模板,可以根据具体需求选择合适的模板来生成代码。具体使用方法可以参考官方文档:https://docs.codesmithtools.com/

③、IntelliJ IDEA插件

        IntelliJ IDEA是一款功能强大的Java IDE,它内置了很多实用的工具,其中就包括代码自动生成工具。在IntelliJ IDEA中,可以通过快捷键或右键菜单来生成各种类型的代码,如实体类、DAO、Service、Controller等。生成的代码可以根据模板进行自定义配置,同时也支持使用插件来扩展其功能。详细使用方法可以参考官方文档:https://www.jetbrains.com/help/idea/working-with-code.html#generate-code

④、MyBatis-plus

        利用这个也可以生成模板代码,不过需要写一些配置代码。

  总之,使用代码自动生成工具可以提高开发效率和代码质量,减少代码重复性工作,同时也可以减少错误和避免手写代码产生的不一致性。选择适合自己的代码自动生成工具,可以让开发者更加轻松愉快地进行开发工作。

二、使用TableGo自动生成代码

        当然我们还可以使用TableGo自动生成代码(“TableGo使用手册.pdf ” 我已经上传需要的朋友可以直接下载或直接在这里面下载:GitHub - vipbooks/TableGo ),下面是TableGo官网地址:TableGo官网 — 基于数据库的自动化生成工具,低代码编程技术的实现,全能代码生成器,自动生成项目框架、生成JavaBean、生成前后端代码、生成数据库文档、生成API文档、自动化部署项目

 

下面使用sys_user表自动生成对应相关代码为例子,进行演示:

1、创建sys_user表:

CREATE TABLE `sys_user` ( 
  `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID',
  `login_name` varchar(30) NOT NULL COMMENT '登录账号',
  `user_name` varchar(30) DEFAULT '' COMMENT '用户昵称',
  `user_type` varchar(2) DEFAULT '00' COMMENT '用户类型(00系统用户 01注册用户)',
  `email` varchar(50) DEFAULT '' COMMENT '用户邮箱',
  `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码',
  `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',
  `avatar` varchar(100) DEFAULT '' COMMENT '头像图片路径',
  `user_password` varchar(50) DEFAULT '' COMMENT '密码',
  `salt` varchar(20) DEFAULT '' COMMENT '盐加密',
  `status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',
  `del_flag` char(1) DEFAULT '0' COMMENT '逻辑删除标志(0代表存在 2代表删除)',
  `login_ip` varchar(128) DEFAULT '' COMMENT '最后登录IP',
  `login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
  `pwd_update_date` datetime DEFAULT NULL COMMENT '密码最后更新时间',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='用户信息表';

 2、打开TableGo,进行连接测试

 3、选择生成工具

 

 

 

 此时就可以看到生成了对应的模板代码文件,选择自己需要的复制到项目中即可。

         这种方式相较于MyBatis-plus,没有去书写较多的配置代码。个人感觉上是比较简单的一种自动生成的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/605128.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在Linux 启用组播

第一章: 前言 多播技术,也被称为“组播”,是一种网络通信机制,它允许一个节点(发送者)向一组特定的节点(接收者)发送信息。这种方式在网络编程中非常有用,因为它可以大大提高效率和…

深度学习(Pytorch):Softmax回归

Softmax简介 Softmax回归是一个用于多类分类问题的线性模型,它是从Logistic回归模型演变而来的。Softmax回归与Logistic回归类似,但是输出不再是二元的,而是多类的。Softmax回归引入了softmax激活函数来将输出转换为合理的概率分布。与线性回…

HCIE-Cloud Computing LAB备考--第五题:规划--Type13练习--记忆技巧+默写

对LLD表,交换机接口表,ensp配置进行练习,如下图,设置答案和空白表,进行默写,汇总自己的容易犯的错误 LLD表默写思路 交换机接口配置表默写思路 以Type3为例,同颜色复制即可,共用ST.P0是A25,ST.P2是A21,FS是ST.P0是A21,ST.P2是A21。 ensp配置默写思路 特点: 所…

一步一步学习 Stable Diffusion

一步一步学习 Stable Diffusion 0. 背景1. 安装2. 汉化3. 安装 sd-webui-controlnet 插件4. 安装 sd-webui-segment-anything 插件5. 安装 ultimate-upscale 插件6. 安装 SadTalker 插件7. 下载和配置 VAE 模型8. 使用 ChilloutMix 模型99. 未完待续 0. 背景 网上看了很多 Sta…

priority_queue(优先级队列)

priority_queue 1. priority_queue的介绍及使用1.1 priority_queue的介绍1.2 priority_queue的使用1.2.1 constructor(构造)1.2.2 empty1.2.3 size1.2.4 top1.2.5 emplace1.2.6 push、pop、swap 1.3 数组中第K个大的元素 2.priority_queue的深度剖析及模拟实现 1. priority_que…

Makerbase SimpleFOC ESP32例程4 双电机闭环速度测试

Makerbase SimpleFOC ESP32例程4 双电机闭环速度测试 第一部分 硬件介绍 1.1 硬件清单 序号品名数量1ESP32 FOC V1.0 主板12YT2804电机2312V电源适配器14USB 线156pin杜邦线2 注意:YT2804是改装的云台无刷电机,带有AS5600编码器,可实现360连续运转。…

柔性作业车间调度

1柔性车间作业调度 个工件 要在 台机器 上加工。每个工件包含一道或多道工序,工序顺序是预先确定的,每道工序可以在多台不同加工机器上进行加工,工序的加工时间随加工机器的不同而不同。调度目标是为每道工序选择最合适的机器、确定每台机器…

【C语言】语言篇——数组和字符串

C站的小伙伴们,大家好呀😝😝!我最近在阅读学习刘汝佳老师的《算法竞赛入门经典》,今天将整理本书的第三章——数组和字符串的一些习题,本章习题较多,下选取部分习题进行练习总结,在这…

200道面试题(附答案)

最近有不少小伙伴跑来咨询: 想找网络安全工作,应该要怎么进行技术面试准备?工作不到 2 年,想跳槽看下机会,有没有相关的面试题呢? 为了更好地帮助大家高薪就业,今天就给大家分享两份网络安全工…

ubuntu20.04 ffmpeg mp4转AES加密的m3u8分片视频

样本视频(时长2分35秒): 大雄兔_百度百科 大雄兔_百度百科不知大家否看过世界上第一部开源电影:Elephants Dream(大象之梦)。这是一部由主要由开源软件Blender制作的电影短片,证明了用开源软件也能制作出效果媲美大公司的作品。…

1-9 随机算法【手写+Xmind笔记】

文章目录 1 Min-Cut【手写笔记】1.1 问题描述1.2 解决方案1.3 概率证明 2 赠券收集【手写笔记】3 快排期望【手写笔记】4 素数性质【手写笔记】4.1 基本性质4.2 解决方案4.3 群论4.4 费马小定理4.5 Miller Rabin素性测试 5-6 力矩与偏差【手写笔记】5.1 基础不等式5.2 矩生成函…

[图表]pyecharts模块-柱状图

[图表]pyecharts模块-柱状图 先来看代码: from pyecharts.charts import Bar from pyecharts.faker import Faker from pyecharts.globals import ThemeTypec (Bar({"theme": ThemeType.MACARONS}).add_xaxis(Faker.choose()).add_yaxis("商家A&q…

Spring 核心概念之一 IoC

前言 欢迎来到本篇文章!通过上一篇什么是 Spring?为什么学它?的学习,我们知道了 Spring 的基本概念,知道什么是 Spring,以及为什么学习 Spring。今天,这篇就来说说 Spring 中的核心概念之一 Io…

day2 -- 数据库的安全管理和维护

brief 访问控制的目的不仅仅是防止用户的恶意企图。数据梦魇更为常见的是无意识错误的结果,如错打MySQL语句,在不合适的数据库中操作或其他一些用户错误。通过保证用户不能执行他们不应该执行的语句,访问控制有助于避免这些情况的发生。管理…

Makerbase SimpleFOC ESP32 例程6 双电机闭环位置力矩互控

Makerbase SimpleFOC ESP32 例程6 双电机闭环位置力矩互控 第一部分 硬件介绍 1.1 硬件清单 序号品名数量1ESP32 FOC V1.0 主板12YT2804电机2312V电源适配器14USB 线156pin杜邦线2 注意:YT2804是改装的云台无刷电机,带有AS5600编码器,可实现360连续运…

Go 字节跳动—从需求到上线全流程

走进后端开发流程 整个课程会带大家先从理论出发,思考为什么有流程 大家以后工作的团队可能不一样,那么不同的团队也会有不同的流程,这背后的逻辑是什么 然后会带大家按照走一遍从需求到上线的全流程,告诉大家在流程的每个阶段&am…

angular环境安装 (含nodejs详细安装步骤)

在安装本次环境之前,需要先把本机上的nodejs环境卸载,环境变量手动删除!安装过程种环境才不会产生副作用!实际项目安装的一次记录,踩了太多坑,记录一下,旨在记录!项目需要两个不用版…

常用设计模式介绍~~~ Java实现 【概念+案例+代码】

前言 想要读懂源码、让自己的代码写的更加优雅,重构系统等。理解设计模式的思想,可以让我们事半功倍。以下稍微整理了常用的设计模式、每一种设计模式都有详细的概念介绍、案例说明、代码实例、运行截图等。这里给出目录导航。 目录 一、创建型模式 【一…

现在的面试把我卷崩溃了....

现在的面试也太卷了,前几天组了一个软件测试面试的群,没想到效果直接拉满,看来大家对面试这块的需求还是挺迫切的。昨天我就看到群友们发的一些面经,感觉非常有参考价值,于是我就问他还有没有。 结果他给我整理了一份…

Linux命令学习之cd

cd是进入某个目录的命令。man 1 cd看一下cd的使用说明。 发现cd是一个Shell内置命令。内置命令可以使用help 命令行来看一下帮助,比如help cd就可以看一下cd的帮助。 图中的[dir]就是参数,这个参数是目录名,比如可以使用cd /可以进入根目录…