java自动生成pojo,springboot自动生成pojo

news/2024/5/14 3:14:44

第一步 pom引入依赖

    <dependencies><!-- mybatis-generator --><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.7</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

第二步 创建自动生成代码配置
在这里插入图片描述
配置文件一 ,用于生成代码时连接数据库拿表数据的。
generator.properties
我这里路径是项目全路径,有一下可能只需要src\main\resources,根据自己配置
targetProject=“zhoao\src\main\resources”

jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://localhost:3306/dade?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
jdbc.userId=root
jdbc.password=123456

配置文件二 ,用于生成代码时 指定生成的 目录路径、代码函数等。
generatorConfig.xml

保存文件路径
targetProject=“zhoao\src\main\resources”

自定义表名

<table tableName="cdj_order_87"  enableCountByExample="false"  mapperName="UserAccountMapper" domainObjectName="cdj_order_87" />
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><properties resource="generator.properties"/><context id="MySqlContext" targetRuntime="MyBatis3" defaultModelType="flat"><property name="beginningDelimiter" value="`"/><property name="endingDelimiter" value="`"/><property name="javaFileEncoding" value="UTF-8"/><!-- 为模型生成序列化方法--><plugin type="org.mybatis.generator.plugins.SerializablePlugin"/><!-- 为生成的Java模型创建一个toString方法 --><plugin type="org.mybatis.generator.plugins.ToStringPlugin"/><!--生成mapper.xml时覆盖原文件--><plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" /><!--可以自定义生成model的代码注释--><commentGenerator type="com.util.CommentGenerator"><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true"/><property name="suppressDate" value="true"/><property name="addRemarkComments" value="true"/></commentGenerator><!--配置数据库连接--><jdbcConnection driverClass="${jdbc.driverClass}"connectionURL="${jdbc.connectionURL}"userId="${jdbc.userId}"password="${jdbc.password}"><!--解决mysql驱动升级到8.0后不生成指定数据库代码的问题--><property name="nullCatalogMeansCurrent" value="true" /></jdbcConnection><!--指定生成model的路径--><javaModelGenerator targetPackage="com.pojo" targetProject="zhoao\src\main\java"/><!--指定生成mapper.xml的路径-->
<!--        <sqlMapGenerator targetPackage="mybatis.mapper" targetProject="zhoao\src\main\resources"/>--><!--指定生成mapper接口的的路径-->
<!--        <javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="zhoao\src\main\java"/>--><!--生成全部表tableName设为%--><table tableName="%" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"enableSelectByExample="false" selectByExampleQueryId="false"><property name="useActualColumnNames" value="false"/><property name="constructorBased" value="false"/><generatedKey column="id" sqlStatement="JDBC" identity="true"/></table></context>
</generatorConfiguration>

这个是使用备注添加器(第三步的内容):
在这里插入图片描述
第三步 创建代码生成器 Generator
在这里插入图片描述
CommentGenerator.java

package com.util;import org.mybatis.generator.internal.DefaultCommentGenerator;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.dom.java.Field;
import org.mybatis.generator.internal.util.StringUtility;import java.util.Properties;public class CommentGenerator extends DefaultCommentGenerator {private boolean addRemarkComments = false;/*** 设置用户配置的参数*/@Overridepublic void addConfigurationProperties(Properties properties) {super.addConfigurationProperties(properties);this.addRemarkComments = StringUtility.isTrue(properties.getProperty("addRemarkComments"));}/*** 给字段添加注释*/@Overridepublic void addFieldComment(Field field, IntrospectedTable introspectedTable,IntrospectedColumn introspectedColumn) {String remarks = introspectedColumn.getRemarks();//根据参数和备注信息判断是否添加备注信息if (addRemarkComments && StringUtility.stringHasValue(remarks)) {addFieldJavaDoc(field, remarks);}}/*** 给model的字段添加注释*/private void addFieldJavaDoc(Field field, String remarks) {//文档注释开始field.addJavaDocLine("/**");//获取数据库字段的备注信息String[] remarkLines = remarks.split(System.getProperty("line.separator"));for (String remarkLine : remarkLines) {field.addJavaDocLine(" * " + remarkLine);}addJavadocTag(field, false);field.addJavaDocLine(" */");}}

Generator.java

package com.util;import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;public class Generator {public static void main(String[] args) throws Exception {//MBG 执行过程中的警告信息List<String> warnings = new ArrayList<String>();//当生成的代码重复时,覆盖原代码boolean overwrite = true;//读取我们的 MBG 配置文件InputStream is = Generator.class.getResourceAsStream("/generatorConfig.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(is);is.close();DefaultShellCallback callback = new DefaultShellCallback(overwrite);//创建 MBGMyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);//执行生成代码myBatisGenerator.generate(null);//输出警告信息for (String warning : warnings) {System.out.println(warning);}}
}

然后点击一下代码生成器Generator 的 main方法:
在这里插入图片描述
生成啦,我这里只生成pojo,其它两个可以把xml的注销去掉生成
在这里插入图片描述

在这里插入图片描述


http://www.mrgr.cn/p/53487808

相关文章

SAP MM 定义物料类型的属性配置里的New entries按钮

SAP MM 定义物料类型的属性配置里的New entries按钮在SAP的很多后台配置界面上都有New Entries(新条目)按钮,方便企业用户可以根据企业特有业务需求来增加新的配置条目。事实上,并不是所有的配置界面里,都能很随意很方便的允许企业用户点击’New Entries’按钮来做定制配置的…

博客添加评论功能及定制化样式

哈喽大家好,我是咸鱼。(博客网址: https://xxxsalted.github.io/) 在搭建了博客并换了主题之后,发现有许多细节方面的东西还需要完善和定制化一下,比如说行距和引用的样式我不是很喜欢,以及没有评论功能。 于是决定自己动手,说干就干。PS:下文的修改操作仅限于博客主题…

静态路由深研究

在创建静态路由时&#xff0c;可以同时指定出接口和下一跳。对于不同的出接口类型&#xff0c;也可以只指定出接口或只指定下一跳。对于点到点接口&#xff08;如串口&#xff09;&#xff0c;可以指定出接口或者下一跳。对于广播接口&#xff08;如以太网接口&#xff09;和VT…

SAP 通过配置传输的方式恢复某个CLIENT下的基础配置数据

SAP 通过配置传输的方式恢复某个CLIENT下的基础配置数据比如某个项目上用户不小心误操作,将SAP系统标准的物料类型全部删除了(事务代码OMS2)。这导致系统无法继续使用了,需要采取技术手段将删除的数据恢复过来。解决方案也很简单, 换一个Client, 进入这个配置界面,选中全部…

字符类型

每天进步一点点,快乐生活多一点。

【Azure Event Hub】Schema Registry 在China Azure门户上不能创建的替代方案

问题描述 创建Event Hub服务后,标准版的定价层功能中有Schema Registry的功能,但是根据官方文档,在门户中确无法创建。 问题解答什么是 Azure 架构注册表?Azure 架构注册表是事件中心的一项功能,它为事件驱动的应用程序和以消息为中心的应用程序的架构提供一个中心存储库…

盲人安全过马路:科技赋能,独立出行不再难

作为一位资深记者&#xff0c;我长期关注特殊群体的生活现状与科技助力下的改善举措。今天&#xff0c;我要讲述的是盲人朋友在独立出行&#xff0c;尤其是过马路时面临的挑战&#xff0c;以及一款叫做蝙蝠避障的创新辅助应用如何通过实时避障与拍照识别功能&#xff0c;显著提…

SAP S4HANA 根据PO号码得到各个ITEM的Conditions数据

SAP S4HANA 根据PO号码得到各个ITEM的Conditions数据1, 如下的采购订单4500001572.Item 10的condition数据里存在PB00,JFRB,NAVM,SKTO,WOTB等条件类型。如上图。2, 先执行事务代码SE16 ,table EKKO 得到凭证条件号。输入采购订单号码,执行,凭证条件号1000004017。2,执行事务…

fastreport .net打印普通报表

fastreport .net打印普通报表 前言: .net代码层先不记录在这,后续会单独写一篇博客来记录。 直接在工具上进行功能点的实现 一、效果图二、功能点分页 分页小计 金额大写三、功能点实现 3.1 分页 这个直接用工具自带的page当前页和TotalPages总页数 当前页和总页数是根据 当前…

HotSpot JVM 中的应用程序/动态类数据共享

0.前言 本文的目的是详细讨论 HotSpot JVM 自 JDK 1.5 以来提供的一项功能&#xff0c;该功能可以减少启动时间&#xff0c;但如果在多个 JVM 之间共享相同的类数据共享 (CDS) 存档&#xff0c;则还可以减少内存占用。 1.类数据共享 (CDS) CDS 的想法是使用特定格式将预处理…

Windows 安全中心:页面不可用 你的 IT 管理员已限制对此应用的某些区域的访问,并且你尝试访问的项目不可用。有关详细信息,请与 IT 支持人员联系。

问题 1&#xff1a;Windows 安全中心提示&#xff1a;【页面不可用 你的 IT 管理员已限制对此应用的某些区域的访问&#xff0c;并且你尝试访问的项目不可用。有关详细信息&#xff0c;请与 IT 支持人员联系。】 修复 Microsoft.SecHealthUI 方法 1&#xff1a;命令自动重装安…

Arm功耗管理精讲与实战

安全之安全(security)博客目录导读 思考 1、为什么要功耗管理&#xff1f;SOC架构中功耗管理示例&#xff1f;功耗管理挑战&#xff1f; 2、从单核->多核->big.LITTLE->DynamIQ&#xff0c;功耗管理架构演进? 3、什么是电压域&#xff1f;什么是电源域&#xff1f…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-1.3

前言&#xff1a; 本文是根据哔哩哔哩网站上视频“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”的学习笔记&#xff0c;在这里会记录下正点原子Linux ARM MX6ULL 开发板根据配套的哔哩哔哩学习视频所作的实验和笔记内容。本文大量的引用了正点原子哔哔哩网…

微信小程序开发六(自定义组件)

自定义组件的创建&#xff1a; 如何创建&#xff1a; 右键选择新建component 创建完成之后需要打开app.json&#xff0c;这是全局使用这个组件&#xff0c;想要单独的页面使用&#xff0c;就在当前页面的json文件中定义 "usingComponents": {"my-zj": &quo…

PotatoPie 4.0 实验教程(21) —— FPGA实现摄像头图像二值化(RGB2Gray2Bin)

PotatoPie 4.0开发板教程目录&#xff08;2024/04/21&#xff09; 为什么要进行图像的二值化&#xff1f; 当我们处理图像时&#xff0c;常常需要将其转换为二值图像。这是因为在很多应用中&#xff0c;我们只对图像中的某些特定部分感兴趣&#xff0c;而不需要考虑所有像素的…

探索开源的容器引擎--------------Docker容器操作

目录 一、Docker 容器操作 1.1容器创建 1.2查看容器的运行状态 1.3启动容器 1.4创建并启动容器 1.4.1当利用 docker run 来创建容器时&#xff0c; Docker 在后台的标准运行过程是&#xff1a; 1.4.2在后台持续运行 docker run 创建的容器 1.4.3创建容器并持续运行容器…

IntelliJ IDEA 如何启用 JDK 预览特性

IntelliJ IDEA 也可以启用 JDK 的预览特性。 针对项目&#xff0c;选择项目结构。 配置是在语言结构上。 单击语言结构上的 SDK 默认&#xff0c;往下拉&#xff0c;就可以看到针对新版本的选项。 同时还可以看到那些版本是支持新特性预览的&#xff0c;那些版本是不支持新特…

ETL中双流合并和多流合并的区别

一、ETL工具 ETLCloud数据集成平台集实时数据集成和离线数据集成以及API发布为一体的数据集成平台。与其他开源数据集成工具相比,采用轻量化架构、具有更快的部署速度、更快的数据传输速度、更低的运维成本,同时支持多租户的团队协作能力,能够满足企业各种复杂的数据处理需求…

Ubuntu终端自动补全

文章目录 前言配置安装zsh安装 oh-my-zsh安装自动补全插件zsh-autosuggestions 参考 前言 Oh My Zsh 是一个针对命令行 shell 的开源框架&#xff0c;主要用于增强和美化命令行环境。它建立在 Zsh&#xff08;一种强大的 shell 替代品&#xff09;之上&#xff0c;提供了丰富的…

为什么打印对象,点开查看某属性有值,但是直接打印无值

1.现象某些刚学习一段时间前端,或者学习一段时间后的一些人不知道为什么打印对象,点开查看某属性有值,但是直接打印无值. 比较常见的一个开发现象就是发现自己直接打印对象有值,但是进行页面跳转或者其他业务请求之类的时候发现参数拿不到2.原因直接打开控制台的时候里面没有值…