这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战
今天我们来写一篇介绍Mybatis生成器的介绍和使用,我们用Mybatis偷懒,毕竟给我们提供了,不用不学那就是我们的损失,ok,话不多说我们开干吧。
导入依赖
我们需要导入两个依赖,一个是mybatis的生成器依赖,另外一个就是mybatis的starter用来操作mybatis的,具体就是下面这样:
搞代码
这个是官网的java生成示例,我们拿过来,然后改一下配置,就可以了。
大概流程就是通过解析器,解析你所配置的文件内容,生成一个配置,然后再根据一些参数初始化生成器,然后生成器根据配置去生成一些代码。
搞配置
最外层标签不用解释了,懂得都懂,里面一个子标签是上下文,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属性覆盖我的列名。
运行测试
看起来是玩明白了,欧凯,那就结束。