MyBatis Generator 代码自动生成器,从此解放你的双手

context 除了上面配置的之外,还有许多子元素需要配置,而且这些子元素的配置的个数以及顺序都是规定好的,如果不按照给定的规则进行配置,则会导致错误,常见子元素及个数配置如下(按照规定的顺序进行从上到下排序):

| 子元素 | 最少个数 | 最多个数 |

| — | — | — |

| property | 0 | N |

| plugin | 0 | N |

| commentGenerator | 0 | 1 |

| jdbcConnection | | |

| javaTypeResolver | 0 | 1 |

| javaModelGenerator | 1 | N |

| sqlMapGenerator | 0 | 1 |

| javaClientGenerator | 0 | 1 |

| table | 1 | N |

接下来依次对各个子元素进行简单的配置讲解。

context 子元素配置

  1. property

如果我们要给我们的所生成文件的编码类型进行设置,则可以在此处进行配置,具体配置如下:

复制代码

  1. plugin

默认生成的 PO 中,只包含了各个各个属性声明以及各个属性所对应的 setter/getter,如果我们想要生成对应 PO 的 equals 和 hashCode 方法,则可以通过配置如下插件来实现。

复制代码

要生成 toString 方法,则可以使用如下插件:

复制代码

为模型生成序列化方法,则使用如下插件:

复制代码

  1. commentGenerator

该配置主要用于配置生成的注释,默认情况下是会生成注释的,而且会带上时间戳,如果我们不需要这些配置,则可以通过如下配置来清除:

复制代码

  1. jdbcConnection

既然要自动生成对应文件,那肯定得链接数据库,所以我们需要对数据库进行配置,上面我们讲过导入外部配置文件,我们可以通过这种方式将数据库的配置定义在外部文件中,然后通过导入该文件进行配置即可,具体可以通过如下具体步骤进行:

<jdbcConnection driverClass=“${jdbc.driver-class-name}”

connectionURL=“${jdbc.url}”

userId=“${jdbc.username}”

password=“${jdbc.password}”>

复制代码

  1. javaTypeResolver

主要用于配置 JDBC 和 Java 中的类型转换规则,如果我们不配置,会采用默认的一套转换规则,而如果我们需要自定义,也只能配置 bigDecimalNUMERIC 和时间类型,不能去配置其他类型,否则会导致出错,具体配置规则如下:

复制代码

  • forceBigDecimals

该属性默认为 false,此时它会将 JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,若该属性为 true,此时将会把 JDBC DECIMAL 和 NUMERIC 类型解析为 java.math.BigDecimal

  • useJSR310Types

该属性默认为 false,它会将 JDBC 所有的时间类型都解析为 java.util.Date,若该属性为 true,则会按照如下规则进行解析:

| 转换前 | 转换后 |

| — | — |

| DATE | java.time.LocalDate |

| TIME | java.time.LocalTime |

| TIMESTAMP | java.time.LocalDateTime |

| TIME_WITH_TIMEZONE | java.time.OffsetTime |

| TIMESTAMP_WITH_TIMEZONE | java.time.OffsetDateTime |

  1. javaModelGenerator

这里主要用于配置自动生成的 PO 所在的包路径和项目路径,这里需要根据自己的需求进行配置,这里以我自己的配置为例,比如我的 PO 所在包为 com.cunyu1943.mybatisgeneratordemo.entity,项目路径为 src/main/java

复制代码

  1. sqlMapGenerator

配置生成的 Mapper.xml 所存放的路径,比如我们要放在 src/main/resources/mapper 路径下,则配置如下:

复制代码

  1. javaClientGenerator

配置 Mapper 接口所存放的路径,一般我们都是存放在项目的 mapper 包下,如我的配置为:

<javaClientGenerator targetPackage=“com.cunyu1943.mybatisgeneratordemo.mapper” targetProject=“src/main/java”

type=“XMLMAPPER”>

复制代码

  1. table

配置所要自动生成代码的数据库表,这里一张表对应一个 table,如果要生成多张表,则需要配置多个 table,以下为一个具体实例:

enableCountByExample=“false” enableDeleteByExample=“false” enableSelectByExample=“false”

enableUpdateByExample=“false” selectByExampleQueryId=“false”>

复制代码

其中,schema 是数据库名,有的数据库需要配置,有的数据库不需要配置,这里需要具体根据你自己所用的数据库来填写,不过建议都填上,方便不同数据库也可以适用。tableName 则对应数据库表名;domainObjectName 对应生成的实体类名,默认可以不用配置,不配置时它将按照帕斯卡命名法将表明转换为类名;而 enableXXXByExample 默认为 true,默认会生成一个 Example 帮助类,不过该配置只有在 targetRuntime="MyBatis3" 时才能生效,当 targetRuntime="MyBatis3Simple" 时,enableXXXByExample无论如何配置都不起作用。

执行生成


经过上边的配置之后,我们就得到了整体的 MyBatis Generator 配置,完整的配置如下,可以根据自己的需求对其中的配置进行修改后即可使用。

<?xml version="1.0" encoding="UTF-8" ?>

<jdbcConnection driverClass=“${jdbc.driver-class-name}”

connectionURL=“${jdbc.url}”

userId=“${jdbc.username}”

password=“${jdbc.password}”>

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

对于面试还是要好好准备的,尤其是有些问题还是很容易挖坑的,例如你为什么离开现在的公司(你当然不应该抱怨现在的公司有哪些不好的地方,更多的应该表明自己想要寻找更好的发展机会,自己的一些现实因素,比如对于我而言是现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)

image

Java面试精选题、架构实战文档

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
e5c14a7895254671a72faed303032d36.jpg" alt=“img” style=“zoom: 33%;” />

总结

对于面试还是要好好准备的,尤其是有些问题还是很容易挖坑的,例如你为什么离开现在的公司(你当然不应该抱怨现在的公司有哪些不好的地方,更多的应该表明自己想要寻找更好的发展机会,自己的一些现实因素,比如对于我而言是现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)

[外链图片转存中…(img-cIaTXvPp-1711794194080)]

Java面试精选题、架构实战文档

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值