面向小白的SpringBoot的Mybatis生成器玩法

135 阅读2分钟

这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战

今天我们来写一篇介绍Mybatis生成器的介绍和使用,我们用Mybatis偷懒,毕竟给我们提供了,不用不学那就是我们的损失,ok,话不多说我们开干吧。

导入依赖

我们需要导入两个依赖,一个是mybatis的生成器依赖,另外一个就是mybatis的starter用来操作mybatis的,具体就是下面这样:

image.png

搞代码

这个是官网的java生成示例,我们拿过来,然后改一下配置,就可以了。 image.png

大概流程就是通过解析器,解析你所配置的文件内容,生成一个配置,然后再根据一些参数初始化生成器,然后生成器根据配置去生成一些代码。

搞配置

最外层标签不用解释了,懂得都懂,里面一个子标签是上下文,id表示上下文的id,targetRuntime代表是基于MyBatis3版本进行生成

<generatorConfiguration> :最外层标签
<context id="H2Tables" targetRuntime="MyBatis3">

指定一些插件比如FluentBuilderMethodsPlugin,生成带有fluent风格的model代码 ToStringPlugin,生成tostring方法,RowBoundsPlugin生成其它方法等等,

这个jdbcConnection标签是用来指定Driver的配置的,比如url什么的。

<jdbcConnection driverClass="org.h2.Driver"
                connectionURL="jdbc:h2:mem:testdb"
                userId="sa"
                password="">
</jdbcConnection>

这个标签javaModelGenerator是给Java的类找个放置的地方的,targetPackage属性放在哪个包下,这个属性来控制enableSubPackages,targetProject属性放在哪个项目下。

这个标签sqlMapGenerator,在上面的基础上,再生成一些包,这里是指定sqlmap和mapper的映射。

这个标签javaClientGenerator,与上面一样,这里有个属性type可以指定mapper生成的模式,这里我们选择混合模式。

最后我们指定表名和主键,标签就是table,属性tablename,指定域名,columnOverride属性覆盖我的列名。

运行测试

image.png

image.png

看起来是玩明白了,欧凯,那就结束。