当前位置: 首页 > news >正文

mybatis-generator-maven-plugin使用

前提说明

  • 数据库:MYSQL57
  • Mybatis : http://mybatis.org/generator/index.html

操作说明

引入插件

<plugins><!-- MyBatis 逆向工程 插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql-connector-java.version}</version></dependency></dependencies><executions><execution><id>Generate MyBatis Artifacts</id><phase>package</phase><goals><goal>generate</goal></goals></execution></executions><configuration><!-- 允许移动生成的文件 --><verbose>true</verbose><!-- 是否覆盖 --><overwrite>true</overwrite><!-- 配置文件 --><configurationFile>src/test/resources/config/generator-config.xml</configurationFile></configuration></plugin></plugins>

创建 generator 的配置文件

注意:配置文件名要为:application.properties ,同时要放在 resources/config/application.properties,想要修改请详见下面的配置xml信息。

db:driverLocation: D:_toolsmaven_resprositymysqlmysql-connector-java8.0.15mysql-connector-java-8.0.15.jar
generator:maper:sqlMap-targetPackage: src/main/resourcesmapper: cn.com.bsfit.mapperpojo: cn.com.bsfit.pojotargetProject: src/main/java
spring:datasource:driver-class-name: com.mysql.jdbc.Driverdruid:StatViewServlet:loginPassword: druidloginUsername: druidWebStatFilter:exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'initialSize: 5maxActive: 30minIdle: 5maxWait: 60000password: 123456type: com.alibaba.druid.pool.DruidDataSourceurl: jdbc:mysql://192.168.2.11:3306/mytest?useUnicode=true&characterEncoding=utf-8&useSSL=false&rewriteBatchedStatements=trueusername: root

在这里插入图片描述

逆向配置模板信息

注意:
  其他的信息可以不变,但是我们要修改 table 标签,添加我们要逆向的数据表。

<?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="./config/application.yml"/><!-- 指定数据库驱动的jdbc驱动jar包的位置 --><classPathEntry location="${db.driverLocation}" /><!-- context 是逆向工程的主要配置信息 --><!-- id:起个名字 --><!-- targetRuntime:设置生成的文件适用于那个 mybatis 版本 --><context id="default" targetRuntime="MyBatis3"><!--覆盖生成XML文件--><plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" /><!--optional,旨在创建class时,对注释进行控制--><commentGenerator><property name="suppressDate" value="true" /><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true" /></commentGenerator><!--jdbc的数据库连接--><jdbcConnectiondriverClass="${spring.datasource.driver-class-name}"connectionURL="${spring.datasource.url}"userId="${spring.datasource.username}"password="${spring.datasource.password}"></jdbcConnection><!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制--><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和NUMERIC 类型解析为java.math.BigDecimal --><javaTypeResolver><!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) --><property name="forceBigDecimals" value="false" /><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true"/></javaTypeResolver><!-- targetPackage:生成的实体类所在的包 --><!-- targetProject:生成的实体类所在的硬盘位置 --><javaModelGenerator targetPackage="${generator.pojo}"targetProject="${generator.targetProject}"><!-- 是否允许子包,默认false --><!--官网文档介绍:For example, suppose a table MYTABLE in schema MYSCHMA.Also suppose that the targetPackage attribute is set to "com.mycompany".If this property is true, the generated objectsfor the table will be placed in the package "com.mycompany.myschema".If the property is false, the generated objects willbe placed in the "com.mycompany" schema.The default value is false.--><property name="enableSubPackages" value="false" /><!-- 是否对model添加构造函数 --><property name="constructorBased" value="true" /><!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 --><property name="trimStrings" value="true" /><!-- 建立model对象是否不可改变 即生成的model对象不会有setter方法,只有构造方法 --><property name="immutable" value="false" /></javaModelGenerator><!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 --><sqlMapGenerator targetPackage="mapper"targetProject="${generator.maper.sqlMap-targetPackage}"><!-- 针对数据库的一个配置,是否把 schema 作为字包名 --><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="${generator.mapper}"targetProject="${generator.targetProject}"><!-- 针对数据库的一个配置,是否把 schema 作为字包名 --><property name="enableSubPackages" value="false" /></javaClientGenerator><!-- 配置表信息 --><!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample是否生成 example类 --><table tableName="test_01"domainObjectName="Course"enableCountByExample="false"enableUpdateByExample="false"enableDeleteByExample="false"enableSelectByExample="false"selectByExampleQueryId="false"><!--用于指定自动生成的键的属性(来自标识字段或序列)--><generatedKey column="id" sqlStatement="JDBC"></generatedKey></table></context>
</generatorConfiguration>

逆向生产

在这里插入图片描述
自此生成了我们需要的表的 pojomapper.xmlmapper.java

相关文章:

mybatis-generator-maven-plugin使用

前提说明 数据库&#xff1a;MYSQL57Mybatis : http://mybatis.org/generator/index.html 操作说明 引入插件 <plugins><!-- MyBatis 逆向工程 插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generat…...

基于SpringBoot开发的停车位管理系统(调用百度地图api)

文章目录 项目介绍主要功能截图:前台:后台部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot开发的停车位管…...

STC8单片机PWM定时器+EC11编码器实现计数

STC8单片机PWM定时器+EC11编码器实现计数 📌相关篇《STC单片机+EC11编码器实现调节PWM输出占空比》📍《stc单片机外部中断+EC11编码器实现计数功能》🔖STC8系列支持此功能的型号: ✨从上面的相关篇中有通过通用定时器加外部中断以及常规方法实现驱动EC11编码器的方法。本…...

MediaBox助力企业一站式获取音视频能力

以一只音视频百宝箱&#xff0c;应对「千行千面」。 洪炳峰、楚佩斯&#xff5c;作者 大家好&#xff0c;今天我分享的主题是MediaBox——行业音视频数字化再加速。 根据权威数据表明&#xff0c;65%的行业数字化信息来自视频&#xff0c;基于此&#xff0c;音视频技术对于行…...

仅做笔记用:Stable Diffusion 通过 ControlNet 扩展图片 / 扩图

发觉之前的 Outpainting 脚本效果仍旧不是很理想。这里又找了一下有没有效果更好的途径来扩图。于是就找到了通过 ControlNet 的方式来实现效果更好的扩图。这里临时记录一下在 Stable Diffusion 怎么使用 ControlNet 来扩展图片。 下载 control_v11p_sd15_inpaint_fp16.safet…...

代码随想录算法训练营19期第49天

121. 买卖股票的最佳时机 视频讲解&#xff1a;动态规划之 LeetCode&#xff1a;121.买卖股票的最佳时机1_哔哩哔哩_bilibili 代码随想录 初步思路&#xff1a;贪心。 总结&#xff1a; 分别考虑2种情况&#xff1a; 【1】dp[i][0] 表示第i天持有股票所得最多现金 【2】…...

用shell脚本实现一个对数组求和的函数,数组通过实参传递给函数,写一个函数,输出当前用户的uid和gid,并使用变量接收结果

目录 1.实现一个对数组求和的函数&#xff0c;数组通过实参传递给函数 结果为&#xff1a; 2.写一个函数&#xff0c;输出当前用户的uid和id&#xff0c;并使用变量接收结果 结果为&#xff1a; shell脚本指令前七个网页链接&#xff1a; 八、shell中的分支语句 【1】ife…...

运算符,switch

目录 算术运算符 逻辑运算符 强制类型转换 自增自减运算符 ​编辑 三目运算符 A&#xff1f;B:C 逗号表达式 switch 算术运算符 除法的运算结果和运算对象的数据类型有关&#xff0c;两个都是int商就是int&#xff0c;被除数或者除数只要有一个是浮点型数据&#xff0c;…...

运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar

朋友 我当你一秒朋友 朋友 我当你一世朋友 奇怪 过去再不堪回首 怀缅 时时其实还有 运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar 基本可以断定&#xff0c;是jar不完整导致的。不完整&#xff01;&#xff01;&#xff01;记住关键字 检查1&#xff1a; …...

在找工作时的准备工作:结合现状,针对意向企业做好充分准备

在寻找工作时&#xff0c;充分准备是非常重要的。不仅要了解自己的现状和能力&#xff0c;还需要对意向企业进行深入了解&#xff0c;并提前准备好与该企业相关的技能和知识。尤其对于程序员来说&#xff0c;在面试IT技术岗位时&#xff0c;以下技巧可能会对你有所帮助&#xf…...

微服务·数据一致-事务与分布式事务

微服务数据一致-事务与分布式事务 概述 事务是计算机科学和数据库管理中的一个关键概念&#xff0c;用于确保数据的一致性和可靠想。事务管理是大多数应用程序和数据库系统中不可或缺的一部分。分布式事务扩展了事务的概念&#xff0c;用于多个分布式系统和服务的数据一致性管…...

GO语言篇之CGO

GO语言篇之CGO 文章目录 GO语言篇之CGO前言C代码嵌入GO代码C文件嵌入GO代码缺点 前言 Go语言可以通过内置的CGO调用C语言接口&#xff0c;从而实现C语言代码的交互&#xff0c;CGO提供了一种将Go代码嵌入到C代码中&#xff0c;或者从Go代码中调用C函数的方法 C代码嵌入GO代码…...

LVS负载均衡群集(NAT模式、IP隧道模式、DR模式)

目录 一、集群 1.1 含义即特点 1.2 群集的类型 1.3 LVS 的三种工作模式&#xff1a; 1.4 LVS 调度算法 1.5 负载均衡群集的结构 1.6 ipvsadm 工具 二、NAT模式 LVS-NAT模式配置步骤&#xff1a; 实例&#xff1a; 配置NFS服务器192.168.20.100 配置web1服务器192.168…...

PCL 使用克拉默法则进行三点定圆(二维)

目录 一、算法原理二、代码实现三、结果展示四、参考链接五、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 见:使用克拉默法则进行三点定圆(二维) 二、代码实现 #include <iostream>...

MCAL实战二(S32K324-NXP EB tresos GPT驱动配置详解)

目录 前言 一、配置之前 第一步 找时钟源 第二步 配置MCU时钟 二、开始配置 第一步 新建时钟参考点 第二步 硬件通道使能 第三步 配置连接 <...

Python 图形化界面基础篇:什么是 Tkinter 以及为什么选择它

Python 图形化界面基础篇&#xff1a;什么是 Tkinter 以及为什么选择它 引言第一部分&#xff1a;什么是 Tkinter&#xff1f; 1. 跨平台性2. Python 标准库的一部分3. 易学易用4. 社区和资源 第二部分&#xff1a;为什么选择 Tkinter&#xff1f; 1. 简单易用2. 跨平台兼容性3…...

Learning From Data 中英文对照 1.THE LEARNING PROBLEM (第7页)

为了简化感知器公式的表示法&#xff0c;我们将把偏差aaWpb与其他权重合并到一个向量中[wo&#xff0c;1&#xff0c;。…&#xff0c;wd]“&#xff0c;其中T表示向量的转置&#xff0c;所以w是acolumn向量&#xff0c;我们也将x作为列向量&#xff0c;并将其修改为x[o&#x…...

自己编译静态ffmpeg freetype2 not found问题解决

整理好依赖的ffmpeg仓库地址&#xff1a; https://github.com/pyke369/sffmpeg 报错&#xff1a;ERROR: freetype2 not found using pkg-config 网上查询说是需要安装freetype-devel ​​​​​​​sudo apt install libfreetype6-dev 安装后还是报一样的错&#xff0c;实…...

基于 Python 的音乐流派分类

音乐就像一面镜子&#xff0c;它可以告诉人们很多关于你是谁&#xff0c;你关心什么&#xff0c;不管你喜欢与否。我们喜欢说“you are what you stream” - Spotify Spotify 拥有 260 亿美元的净资产&#xff0c;是如今很受欢迎的音乐流媒体平台。它目前在其数据库中拥有数百…...

代码随想录训练营第49天|121.买卖股票的最佳时机,122.买卖股票的最佳时机II

代码随想录训练营第49天|121.买卖股票的最佳时机&#xff0c;122.买卖股票的最佳时机II 121.买卖股票的最佳时机文章思路代码 122.买卖股票的最佳时机II文章思路代码 总结 121.买卖股票的最佳时机 文章 代码随想录|0121.买卖股票的最佳时机 思路 维护一个历史最低价&#x…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...