mybatis generator 使用摘要

mybatis generator 概述

新版的mybatis generator已经不完全依赖于xml,可以生成基于注解的mapper。
mybatis generator生成对象:

  • table的主键类
  • table的非主键,非blob类型的属性类
  • blob类型的属性类
  • 动态select,update,insert

当配置生成xml文件,则其内容可能包括:

  • insertupdate 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

注意事项:

  • mybatis generator生成的xml文件不会覆盖之前的文件,只会追加到同名文件后面。
  • mybatis generator不会合并java文件:要么覆盖当前文件,要么生成另一个名字的文件。
  • mybatis generator 不会合并Kotlin文件。同上。

mybatis generator 配置

下文是比较常用的配置和描述。

<?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">

<!-- 配置文档:http://mybatis.org/generator/index.html -->

<generatorConfiguration>

    <!-- 为<u>mybatis</u> generator 添加<u>classpath</u> ,一般用于指定driver jar的位置。 -->
    <classPathEntry
location="C:\Users\yunzhong\.m2\repository\mysql\mysql-connector-java\8.0.18\mysql-connector-java-8.0.18.jar" />

    <!-- targetRuntime: 1 MyBatis3DynamicSql(默认值)。忽略defaultModelType的设置,采用FLAT,主键不会抽取成独立的一个类。 
        忽略javaClientGenerator的type配置,生成注解方式的<u>sql</u>,不会生成<u>xml</u>。 2 
MyBatis3。会有by example的方法生成 
        3 MyBatis3Simple。没有by example的方法生成 -->
    <!-- defaultModelType: 1 conditional(默认值),如果主键是多个字段,将会抽取成单独的一个类。2 flat,一个表对应一个类,包含所有属性。 
        3 hierarchical,主键会抽取成一个单独的类。 -->
    <context id="context1" targetRuntime="MyBatis3Simple"
        defaultModelType="flat">

        <!-- property 
support:suppressAllComments,suppressDate,addRemarkComments,dateFormat -->
        <!-- suppressAllComments: false(默认),生成注释;true,没有注释。 -->
        <!-- suppressDate: false(默认),生成的注释都有时间戳;true,没有时间戳。 -->
        <!-- addRemarkComments: false(默认),生成的注释没有数据库的注释信息;true,注释有数据库的注释信息。suppressAllComments=false则被忽略 -->
        <!-- dateFormat: 时间格式。suppressAllComments=true或suppressDate=true则被忽略 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true" />
        </commentGenerator>

        <jdbcConnection 
connectionURL="jdbc:mysql://localhost:3306/account?serverTimezone=UTC"
            driverClass="com.mysql.jdbc.Driver" password="yunzhong"
            userId="root" />

        <!-- 必填项:targetPackage,生成java文件的包路径 -->
        <!-- 必填项:targetProject,项目路径,和targetPackage联合定位路径。在Eclipse 下,需要项目名开始(account/<u>src</u>/main/java)。在其他环境下,相对路径就可以(./<u>src</u>/main/java)。 -->
        <!-- 属性:enableSubPackages。是否在targetPackage后追加数据库表所在的模式名 
-->
        <javaModelGenerator
            targetPackage="org.yunzhong.account.accounting.model"
            targetProject="account/src/main/java" />

        <!-- 必填项:targetPackage,同上 -->
        <!-- 必填项:targetProject,同上 -->
        <!-- 属性:enableSubPackages。是否在targetPackage后追加数据库表所在的模式名 
-->
        <sqlMapGenerator         targetPackage="org.yunzhong.account.accounting.dao.mapper"
            targetProject="account/src/main/java">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- 必填项:targetPackage,同上 -->
        <!-- 必填项:targetProject,同上 -->
        <!-- 属性:enableSubPackages。是否在targetPackage后追加数据库表所在的模式名 
-->
        <javaClientGenerator
            targetPackage="org.yunzhong.account.accounting.dao"
            targetProject="account/src/main/java" type="XMLMAPPER" />

        <!-- 必填项:tableName. -->
        <!-- 可选项:domainObjectName. model,mapper.java,mapper.xml将会在此名字上生成,而不是通过tableName生成 -->
        <!-- 可选项:mapperName. mapper.xml将会在此名字上生成,而不是通过tableName生成。忽略domainObjectName的配置 -->
        <!-- 可选项:modelType. 作用同上。如果targetRuntime为MyBatis3DynamicSql或MyBatis3Kotlin,则此配置不生效 -->
        <table schema="" tableName="t_acct_currency_type"
            domainObjectName="AcctCurrencyType">
        </table>

    </context>

</generatorConfiguration>

mybatis generator 运行

eclipse插件运行generator的限制比较大:只有当使用eclipse时才可以。推荐mvn插件的方式运行。可以直接运行jar,这里不涉及。

eclipse 插件

插件安装:直接在marketplace安装即可。
在这里插入图片描述
生成配置文件:在目标文件夹新建,找到对应类型。
在这里插入图片描述
执行:右键run配置文件即可。

mvn 插件

在maven pom.xml 配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version></version>
            <configuration>
                <configurationFile></configurationFile>
                <overwrite>true</overwrite>
                <verbose>true</verbose>
            </configuration>
        </plugin>
    </plugins>
</build>

执行:

mvn mybatis-generator:generate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值