mybatis-generator的使用

刚开始用mybatis时,是在项目组中,项目原来是没有用mybatis框架的,后来组长让我改造成mybatis,为所有表写model和mapper。真的是一个费力的活,当时花了两个星期才把全部表的model和mapper改好。后来才知道有mybatis-generator这个工具,可以通过配置生成,省去了很多费力的事。

首先要下载mybatis-generator-core-1.x.x.jar,我这里用mybatis-generator-core-1.3.7.jar,在maven中央仓库下载。另外下载mysql连接的jar包,我这里用mysql-connector-java-8.0.11.jar。

之后要创建一个generatorConfig.xml文件,内容是:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
  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-8.0.11.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/test?serverTimezone=GMT" userId="root" password="">
            <property name="useInformationSchema" value="true"/>
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!--生成Model类存放位置-->
        <javaModelGenerator targetPackage="com.sadoshi.springboottest.model" targetProject="main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!--生成映射文件存放位置-->
        <sqlMapGenerator targetPackage="com.sadoshi.springboottest.mapper" targetProject="main/java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!--生成Dao类存放位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.sadoshi.springboottest.mapper" targetProject="main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!--生成对应表及类名-->
        <table tableName="classinfo" domainObjectName="ClassInfo" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" enableInsert="false"></table>
    </context>
</generatorConfiguration>

其中数据库驱动、数据库连接要按自己实际情况修改。targetProject为项目对应的位置,targetPackage为对应的包名。Model、Mapper、Dao类对按照配置的路径,自动生成到对应位置。最后配置需要生成的表。可以配置需要生成哪些语句,因为都是些基本语句,而且生成太多显得mapper很乱,所以我基本都选了false(默认是true),不自动生成语句,由我自己手动来写

mybatis-generator有两种执行的方式,一种是配置在maven的pom.xml中,通过maven命令执行,我个人不是很喜欢这种方式。另一种方式是用命令行执行。首先把generatorConfig.xml、mybatis-generator-core-1.3.7.jar、mysql-connector-java-8.0.11.jar放在一个文件夹中,然后打开cmd,切换到该文件夹下,执行java -jar mybatis-generator-core-1.3.7.jar -configfile generatorConfig.xml -overwrite就可以生成了。注意generatorConfig.xml中targetProject的路径问题即可。

 

mybatis-generator的使用选项很多,细致的使用方式建议参考官网http://www.mybatis.org/generator/index.html的配置解释

 

PS:如果使用mysql-connector-java的使用版本6以上的话,需要加上这句<property name="useInformationSchema" value="true"/>,否则自动生成的xml映射文件中,会找不到主键,包括table标签内的一些自动生成基于主键的语句都无法生成。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值