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

<generatorConfiguration>
    <classPathEntry
        location="C:\Users\Zhu\.m2\repository\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar" />

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

        <commentGenerator>
            <property name="suppressAllComments" value="false" />
            <property name="suppressDate" value="false" />
        </commentGenerator>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/easy_spring" userId="root"
            password="123456">
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <javaModelGenerator targetPackage="com.zhu.easyspring.entity"
            targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="com.zhu.easyspring.dao"
            targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.zhu.easyspring.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <table tableName="user" domainObjectName="User">
        </table>
        <table tableName="role" domainObjectName="Role">
        </table>
        <table tableName="permission" domainObjectName="Permission">
        </table>

    </context>
</generatorConfiguration>

首先贴上一份Mybatis Generator的示例配置,心急的童鞋可以直接拿去用,有几个注意点需要改一下:

  1. classPathEntry:用于指定MyBatis Generator (MBG)运行的classpath路径,MBG在下面几种情况下会从这个路径来载入类:载入JDBC驱动、载入JavaModelGenerator的根类来检查重写的方法。必须要有localtion属性,所以这里只需要将location改成你本机的JDBC驱动的jar包所在的目录即可。
  2. 下一个需要修改的节点是jdbcConnection,这个就设置一下连接数据库的几个基本属性即可:URLusernamepassword
  3. 需要修改javaModelGeneratorsqlMapGeneratorjavaClientGenerator,这三个节点是分别用来生成实体类+Example类、Mapper接口和映射文件的,这里只需要修改targetPackage替换成你自己的即可
  4. 最后的话就是配置table节点来具体写出你需要生成实体的数据库表,这里关于table节点的配置是相当多,这里就写几个我最近用到的一些:
        <table tableName="t_address" domainObjectName="Address" modelType="flat" >
            <columnOverride column="default" property="isDefault" delimitedColumnName="true"></columnOverride>
        </table>

如上是对t_address表来生成实体,其中table节点的常用属性有:

  • tableName指定了表名
  • domainObjectName指定了实体类的名称
  • modelType指定了生成实体的类型,这里modelType总共分为三种:
    • conditional:类似hierarchical,如果分离的类仅有一个属性那么就不分离了,比如某张表只有一个主键,那么就不会专门生成一个主键类,只会生成一个类
    • flat:一张表只会生成唯一的一个类,其中包含了所有的字段
    • hierarchical:如果表有主键的话,那么首先会生成一个主键类,另外还会生成一个所有BLOB属性的类,最后还有一个类包含了余下的字段,并且这三个类会有一个合理的层次。

另外table节点还可以包含子节点:

  • columnOverride:重写某个字段的名字,比如数据中用到了某个java的保留字,假设是class,那么就必须重写该字段映射到实体类中的属性名,那么就可以这么写
<columnOverride column="class" property="cls"></columnOverride>
  • 而对于数据库的保留字,比如某张表的字段名存在order,那么在生成sql的话,该字段order会被数据库认为是保留字order by的order,这时我们的做法通常是在该字段上加““符号,在用MGB生成时我们可以这么写
<columnOverride column="order" property="order" delimitedColumnName="true"></columnOverride>

delimitedColumnName这个属性就会告诉MGB在生成映射文件的时候会在该字段上加上分隔符,而对于分隔符的设置具体是在context节点下,有这么两个属性:

<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>

这样基本上可以满足一般的需求了,如果还有额外的需求,请移步MBG官网的配置参考文档

时间: 2024-11-05 10:07:58

MyBatis Generator常用配置说明的相关文章

mybatis generator工具的使用

mybatis反转数据库的配置文件: 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/mybati

JAVA入门[7]-Mybatis generator(MBG)自动生成mybatis代码

一.新建测试项目 新建Maven项目MybatisDemo2,修改pom.xml引入依赖.dependencies在上节基础上新增 <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency>

MyBatis Generator 详解

MyBatis Generator中文文档 MyBatis Generator中文文档地址:http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置. 本文中所有节点的链接都是对应的中文文档地址,可以点击查看详细信息. 注:本文后面提到的MBG全部指代MyBatis Generator. MyBatis Generator 1.3.4 扩展,可以设置

使用Mapper专用的MyBatis Generator插件

使用Maven执行MBG 这里有一个完整的例子,Mybatis-Spring,下面讲解的内容出自这个例子. 使用Maven插件的一个好处是可以将Maven中的属性使用${property}形式在generatorConfig.xml中引用. 先看Maven的pom.xml文件(只显示有关的部分内容): <properties> <!-- MyBatis Generator --> <!-- Java接口和实体类 --> <targetJavaProject>

MyBatis Generator中文文档

MyBatis Generator中文文档 MyBatis Generator中文文档地址: http://mbg.cndocs.tk/ 该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置. 本文中所有节点的链接都是对应的中文文档地址,可以点击查看详细信息. 下载本文档的PDF版本 注:本文后面提到的MBG全部指代MyBatis Generator. 运行MyBatis Generato

mybatis generator自动生成 实体类, sqlmap配置文件 详细介绍

我使用的是Eclipse Luna 装了自己常用的插件, generator也是其中一个推荐下载 MyBatis_Generator_1.3.1.zip离线安装包 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN

MyBatis Generator 详解 【转来纯为备忘】

版权声明:版权归博主所有,转载请带上本文链接!联系方式:[email protected] 目录(?)[+] MyBatis Generator中文文档 运行MyBatis Generator XML配置详解 配置文件头 根节点generatorConfiguration generatorConfiguration子元素 1 properties 元素 2 classPathEntry 元素 3 context 元素 31 plugin 元素 32 commentGenerator 元素 33

MyBatis Generator详解

MyBatis Generator中文文档 MyBatis Generator中文文档地址: http://mbg.cndocs.tk/ 本文中所有节点的链接都是对应的中文文档地址,可以点击查看详细信息. 下载本文档的PDF版本 注:本文后面提到的MBG全部指代MyBatis Generator. 运行MyBatis Generator 有4种运行MBG的方法,具体请看文档 运行 MyBatis Generator MBG下载地址:http://repo1.maven.org/maven2/or

数据库逆向代码生成工具:MyBatis Generator的使用

1.前言 今天开发零销量系统,按照我自己的开发习惯,表设计出来了之后就是写dao层mapper了.以前自己学习的时候都是自己一个一个的敲出来.也听过过像hibernate反向工具一样的自动生成dao层的工具,之前没有使用过,今天正好用了一下generator,感觉很好用,可以逆向生成持久层的基本代码节省了大量的时间.而且使用起来很方便,只需要在一个配置文件里面改几个配置信息就可以了. 2.介绍 MyBatis Generator github  https://github.com/mybati