java逆向生成代码有哪些_利用mybatis逆向工程生成代码

在做项目过程中,当面对很多表时,手动编写Mapper.xml、Mapper.java和pojo无疑是要人命,还容易出错,导致对数据库操作时各种异常。这就陷入了写bug,改bug的旋涡。

针对这一痛点,mybatis官方提供了一个逆向工程,针对每张表可以自动生成Mapper.xml、Mapper.java和pojo代码,为我们的开发省去很多麻烦。

可能有些小伙伴要说,喜欢自己动手写,但是有些项目几百张表都是有可能的,手写不信你不吐血。当熟悉了这三个文件是怎么写的前提下,应该把更多的精力放到业务的实现,话不多说,撸代码。

1、

为了避免对项目代码造成影响,新建一个maven工程,专门用于逆向生成代码,然后复制到自己项目对应路径下。

2、

在resources目录下新建两个文件generator.properties

generatorConfig.xml

其中generator.properties里是连接数据库的配置,配置如下:

jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.connectionURL=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8

jdbc.userId=root

jdbc.password=mysql

generatorConfig.xml配置数据库连接、类型转换、生成文件的包名、以及需要生成文件对应的表名称。

包名最好是跟自己项目的包名一致,后面拷贝过去,就不需要修改包名了。

这里用项目表project为例。

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

br>        PUBLIC '-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN'

'http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd'>

generatorConfiguration>

properties resource='generator.properties'>properties>

context id='default' targetRuntime='MyBatis3'>

commentGenerator>

property name='suppressDate' value='true'/>

property name='suppressAllComments' value='true'/>

commentGenerator>

jdbcConnection driverClass='${jdbc.driverClass}'

connectionURL='${jdbc.connectionURL}' userId='${jdbc.userId}'

password='${jdbc.password}'>

jdbcConnection>

javaTypeResolver>

property name='forceBigDecimals' value='false'/>

javaTypeResolver>

javaModelGenerator targetPackage='com.smallsoup.mybatis.pojo'

targetProject='src/main/java'>

property name='enableSubPackages' value='false'/>

property name='constructorBased' value='true'/>

property name='trimStrings' value='true'/>

property name='immutable' value='false'/>

javaModelGenerator>

sqlMapGenerator targetPackage='com.smallsoup.mybatis.dao.mapper'

targetProject='src/main/java'>

property name='enableSubPackages' value='false'/>

sqlMapGenerator>

javaClientGenerator targetPackage='com.smallsoup.mybatis.dao'

targetProject='src/main/java' type='XMLMAPPER'>

property name='enableSubPackages' value='true'/>

javaClientGenerator>

table tableName='project' domainObjectName='ProjectDo'

enableCountByExample='true' enableUpdateByExample='false'

enableDeleteByExample='false' enableSelectByExample='false'

selectByExampleQueryId='false'>

table>

context>

generatorConfiguration>

3、

pom.xml文件需要引入MyBatis自动生成工具插件和mysql的驱动依赖,主要代码如下:

plugin>

groupId>org.mybatis.generatorgroupId>

artifactId>mybatis-generator-maven-pluginartifactId>

version>1.3.2version>

executions>

execution>

id>Generate MyBatis Filesid>

goals>

goal>generategoal>

goals>

configuration>

verbose>trueverbose>

overwrite>trueoverwrite>

configuration>

execution>

executions>

dependencies>

dependency>

groupId>mysqlgroupId>

artifactId>mysql-connector-javaartifactId>

version>5.1.38version>

dependency>

dependencies>

plugin>

4、

到此配置已经好了,下面以IDEA为例,通过简单的配置然后运行生成mapper和pojo文件。

Edit Configurations  ->

Working directory选择该工程目录;

Command line填写:

mybatis-generator:generate -e

138000320_2_20180709053252160

上一步配置好以后,点击运行,结果如下:

138000320_3_20180709053252379

然后看包下就生成了project表的mapper.xml、mapper.java接口和pojo

138000320_4_20180709053252644

到此project的逆向生成代码就完成了,如果需要生成项目所有表的代码,需要在generatorConfig.xml配置多个table标签。

138000320_5_20180709053252769

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值