美文网首页
MyBatis Generator使用指南

MyBatis Generator使用指南

作者: nzdxwl | 来源:发表于2019-11-13 20:34 被阅读0次

    简介

    MyBatis Generator是一个代码生成器,为使用MyBatis或iBatis框架的项目生成相应数据库相关代码(对应数据库表的Java普通类对象、SQL语句映射xml文件,以及对应的DAO类),当前版本支持MyBatis所有版本,只支持iBatis 2.2.0之后的版本。

    • 官网:http://mybatis.org/generator/index.html
    • 最新的版本是 2018年7月发布的1.3.7版本
    • 1.3.7版本是1.3.6版本上面一些细小bug修复和增强,1.3.7版本之后将不再支持iBatis,并且需要JDk1.8或以上来运行。

    配置文件

    <?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="/Program Files/IBM/SQLLIB/java/db2java.zip" />
    
      <context id="DB2Tables" targetRuntime="MyBatis3">
    
        <!-- 去掉mybatis生成的注释 -->
        <commentGenerator>
            <property name="suppressDate" value="true" />
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
    
        <jdbcConnection driverClass="COM.ibm.db2.jdbc.app.DB2Driver"
            connectionURL="jdbc:db2:TEST"
            userId="db2admin"
            password="db2admin">
        </jdbcConnection>
    
        <javaTypeResolver >
          <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>
    
        <javaModelGenerator targetPackage="test.model" targetProject="\MBGTestProject\src">
          <property name="enableSubPackages" value="true" />
          <property name="trimStrings" value="true" />
        </javaModelGenerator>
    
        <sqlMapGenerator targetPackage="test.xml"  targetProject="\MBGTestProject\src">
          <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
    
        <javaClientGenerator type="XMLMAPPER" targetPackage="test.dao"  targetProject="\MBGTestProject\src">
          <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
    
        <table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
          <property name="useActualColumnNames" value="true"/>
          <generatedKey column="ID" sqlStatement="DB2" identity="true" />
          <columnOverride column="DATE_FIELD" property="startDate" />
          <ignoreColumn column="FRED" />
          <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
        </table>
    
      </context>
    </generatorConfiguration>
    
    配置说明
    • classPathEntry: 指定驱动类所在路径
    • 可在commentGenerator配置不为字段和方法生成注释
    • javaModelGenerator标签对应Model
    • sqlMapGenerator对应Mapper.xml文件,当生成注解方式
    • javaClientGenerator对应Mapper的java文件,有两种配置:ANNOTATEDMAPPER - SQL以注解方式保存在Java的Mapper类内部,XMLMAPPER - 不使用注解,生成Java Mapper接口和xml文件
    • table标签中schema对应数据库
    • 可同时生成多个表
    • 可将数据库相关信息以key=value的方式保存到properties文件中,使用properties标签读取并用户key值代替xml配置文件中的相关配置信息

    常用驱动程序下载

    以上是在官网下载,也可以在项目中使用对应的依赖项从Maven仓库下载到本地。
    以MySQL最新的驱动为例,在pom文件中添加以下依赖项后自动下载到本地仓库,然后从本地仓库取出或者直接指向该jar:

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.18</version>
    </dependency>
    

    执行

    假设将jar文件放在lib目录下,配置文件放在config目录下面,执行命令如下:
    java -jar lib/mybatis-generator-core-1.3.7.jar -configfile config/generator_config.xml -overwrite

    相关文章

      网友评论

          本文标题:MyBatis Generator使用指南

          本文链接:https://www.haomeiwen.com/subject/bhqobctx.html