MyBatis命令行实现逆向工程

1.MyBatis逆向工程介绍

在开发过程中,经常有需要使用MyBatis的情形,通常情况下,MyBatis构建项目避免不了写实体类、Dao接口、Mapper映射文件,这些工作都类似,具有一定的重复性,有的时候也容易出错,于是就有人发明了【MyBatis逆向工程】->MyBatis Generator。MyBatis Generator(MBG)是一个代码生成器, 可以生成我们所需要的dao.java、mapper.xml、pojo实体类文件,对于一些表较多的项目来说,能减少很多的工作量,来提高我们的效率。网上有很多类似的教程,可以在eclipse里安装插件进行生成,以及在IDEA中生成等,由于我使用命令行来实现的,所以这里我只介绍命令行的方式,也比较简单。

能够生成的SQL语句包括:

  • insert
  • update by primary key
  • update by example (using a dynamic where clause)
  • delete by primary key
  • delete by example (using a dynamic where clause)
  • select by primary key
  • select by example (using a dynamic where clause)
  • count by example

这些语句的变化取决于表的结构(例如,如果表没有主键,则MBG不会通过主键功能生成更新)更多介绍可以参考文档:http://mybatis.org/generator。

2.下载MyBatis Generator 文件

我是在github上下载的,GitHub地址:https://github.com/mybatis/generator/releases,推荐使用迅雷下载应该会快一点。下载文件,并解压,解压后的文件目录如下:
在这里插入图片描述
查看解压之后lib文件夹里的内容,这里也就是我们需要使用到的jar包了
在这里插入图片描述

3.配置generatorConfig.xml文件

在刚刚解压的文件夹内新建generatorConfig.xml文件,当然,这个文件的名字是自己取的,那么这个文件有什么作用呢?该配置文件告诉MBG:

  • 如何连接到数据库
  • 生成什么对象,以及如何生成它们
  • 哪些表应用于对象生成

另外,我们还要做一些准备工作:
1)找到自己的数据库驱动的jar包位置,为了方便演示,我这里把数据库驱动放到刚才解压的目录下面,我的是MySQL5.7
2) 新建一个空的src文件夹,用于存放生成的文件
在这里插入图片描述
generatorConfig.xml文件内容如下:
在这里插入图片描述
generatorConfig.xml代码

PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
<!--数据库驱动,最好不要有中文字符,不然会找不到-->
<classPathEntry location="mysql-connector-java-5.1.27.jar" />

<context id="DB2Tables" targetRuntime="MyBatis3">

<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接地址账号密码-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/vhr" userId="root" password="123456">
</jdbcConnection>
<javaTypeResolver>
	<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--生成Model类存放位置-->
<javaModelGenerator targetPackage="com.zzti.vhr.model" targetProject="src">
	<property name="enableSubPackages" value="true"/>
	<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--生成映射文件存放位置-->
<sqlMapGenerator targetPackage="com.zzti.vhr.mapper" targetProject="src">
	<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--生成DaoMapper类存放位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.zzti.vhr.mapper" targetProject="src">

<property name="enableSubPackages" value="true"/>

</javaClientGenerator>
<!--生成对应表及类名,需要记住的一点是逆向工程无法生成关联关系,只能生成单表操作-->
<table tableName="adjustsalary" domainObjectName="AdjustSalary" 
	enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" 
	enableSelectByExample="false" selectByExampleQueryId="false"
></table>
</context>
</generatorConfiguration>

需要配置的信息,这里我用红框已经圈了起来,需要配置的信息包括
数据库信息;
生成的实体类的包名及targetProject也就是我们的生成文件要存放的位置,我的这里把它放到src目录下;
生成mapper接口信息;
生成的mapper xml文件信息,这里我的mapper接口和xml文件在同一目录下
所要生成的数据库表配置信息,需要对哪些表进行生成,在后面加上即可,表里的配置属性具体含义可以查看文档中的说明,参考这里

4.生成代码

在命令行中需要执行的命令如下:

 java -jar lib/mybatis-generator-core-1.3.1.jar -configfile generatorConfig.xml -overwrite

我们可以通过cd到当前目录,然后执行上面命令即可,我这里把它放到bat文件中来执行,新建start.bat文件,拷入上面命令
在这里插入图片描述

双击执行bat文件,在src目录下即可看到生成的文件,然后将我们生成的文件拷贝到我们的项目工程中就可以使用啦!

ps:在生成后的文件中,可能某些字段或方法不能正确的创建,应该是MySQL环境和插件版本不太一致的问题,可以在jdbcConnection里面加入以下属性试一试:<property name="databaseSchemaUpdate" value="true" />
在这里插入图片描述

参考博文:https://www.cnblogs.com/xiaotong1223/p/9230505.html
http://mybatis.javaboy.org/2019/1120/generator

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值