MyBatis GeneratorXML配置文件参考

在最常见的用例中,MyBatis Generator(MBG)由XML配置文件驱动。 配置文件告诉MBG:

  • 如何连接到数据库
  • 什么对象要生成,以及如何生成它们
  • 什么表应用于生成对象

以下是一个示例MBG配置文件。 有关元素和属性值的更多信息,请参阅每个元素的各个页面。

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

关于此文件的重要注意事项如下:

  • 该文件指定将使用旧版DB2 CLI驱动程序连接到数据库,并指定可以在哪里找到驱动程序。
  • Java Type Resolver不应强制使用BigDecimal字段 - 这意味着如果可能,整数类型(Short,Integer,Long等)将被替换。 此功能是使数据库DECIMAL和NUMERIC列更容易处理。
  • Java模型生成器应该使用子包。 这意味着在这种情况下,生成的模型对象将被放置在名为test.model.db2admin的包中(因为该表位于DB2ADMIN模式中)。 如果enableSubPackages属性设置为false,那么该包将是test.model。 Java模型生成器也应该修剪字符串。 这意味着任何String属性的setter将调用trim函数 - 如果数据库可能在字符列末尾返回空白字符,这很有用。
  • SQL Map生成器应该使用子包。 这意味着在这种情况下,生成的XML文件将被放置在名为test.xml.db2admin的包中(因为表位于DB2ADMIN模式中)。 如果enableSubPackages属性设置为false,那么该包将是test.xml。
  • DAO生成器应该使用子包。 这意味着在这种情况下,生成的DAO类将被放置在名为test.dao.db2admin的包中(因为表位于DB2ADMIN模式中)。 如果enableSubPackages属性设置为false,那么该包将是test.dao。 DAO生成器应生成引用MyBatis的XML配置的映射器接口。
  • 该文件指定只有一个表将被内省,但更多可以指定。 关于指定表的重要注意事项包括:
    • 生成的对象将基于Customer(CustomerKey,Customer,CustomerMapper等) - 而不是表名。
    • 实际列名称将用作属性。 如果此属性设置为false(或未指定),则MBG将尝试将列名称加载。 在这两种情况下,名称可以被元素覆盖
    • 该列具有生成的密钥,它是一个标识列,数据库类型是DB2。 这将导致MBG在生成的语句中生成正确的元素,以便可以返回新生成的密钥(使用DB2特定的SQL)。
    • 列DATE_FIELD将映射到一个名为startDate的属性。 这将覆盖在这种情况下为DATE_FIELD的默认属性,如果useActualColumnNames属性设置为false,则为dateField。
    • FRED列将被忽略。 没有SQL将列出该字段,并且不会生成Java属性。
    • 列LONG_VARCHAR_FIELD将被视为VARCHAR字段,而不考虑实际的数据类型。

MyBatis generator 生成生成dao model mappper的更多相关文章

  1. 使用Mybatis Generator自动生成Mybatis相关代码

    本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码: 一.构建一个环境: 1. 首先创建一个表: CREATE TABLE pet (name VARCHAR(2 ...

  2. SpringBoot 添加mybatis generator 自动生成代码插件

    自动生成数据层代码,提高开发效率 1.pom添加插件,并指定配置文件路径 <!-- mybatis generator 自动生成代码插件 --> <plugin> <gr ...

  3. MyBatis Generator 自定义生成注释

    注释生成器 为了生成db里面的注释,必须自定义注释生成器 EmptyCommentGenerator: import org.mybatis.generator.api.CommentGenerato ...

  4. IDEA Maven Mybatis generator 自动生成代码

    IDEA Maven Mybatis generator 自动生成代码 一.安装配置maven以及在Idea中配置maven 安装过程步骤可以看上面的博文,里面介绍得很详细. 二.建数据表 DROP ...

  5. idea中mybatis generator自动生成代码配置 数据库是sqlserver

    好长时间没有写博客了,最近公司要用java语言,开始学习java,属于初学者,今天主要记录一下mybatis generator自动生成代码,首先在如下图的目录中新建两个文件,如下图 generato ...

  6. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件

    原文链接 我们这一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池 ...

  7. Mybatis generator 逆向生成代码

    Mybatis generator 逆向生成代码 简单介绍 本文介绍用mybatis逆向生成javaben dao接口 1.创建maven项目 创建相应的包 附上项目创建完成的图片 然后在pom.xm ...

  8. IDEA Maven Mybatis generator 自动生成代码(实例讲解)(转)

    IDEA Maven Mybatis generator 自动生成代码(实例讲解) MyBatis Generator • 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的 ...

  9. mybatis generator 自动生成dao层映射代码

    资源: doc url :http://www.mybatis.org/generator/ download:https://github.com/mybatis/generator/release ...

随机推荐

  1. 《MVC +EasyUI 》——表单的提交

        之前用AJax给Controller传递參数,然后再调用服务端的方法对数据库进行更改,今天碰到一个新的方法,就是表单的提交.这样能够省去AJax穿參.当表单提交后.我们能够获取表单上控件中的值 ...

  2. 点滴积累【JS】---JS小功能(checkbox实现全选和全取消)

    效果: 代码: <head runat="server"> <title></title> <script type="text ...

  3. spring的容器(控制反转、依赖注入)

    一.spring的容器 ”容器“是spring的一个重要概念,其主要作用是完成创建成员变量,并完成装配. 而容器的特点”控制反转“和”依赖注入“是两个相辅相成的概念. 控制反转:我们在使用一个类型的实 ...

  4. Unity中的特殊文件夹

    看了雨松MOMO的 Unity3D研究院之手游开发中所有特殊的文件夹学习了,做个笔记. 1.Editor Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor即可.不过我比较喜欢 ...

  5. Pyspider学习

    简介 国人编写的强大的网络爬虫系统并自带强大的WebUI,采用Python语言编写吗,分布式架构.支持多种数据库后端 pyspider中文网站:http://www.pyspider.cn/ 源码网址 ...

  6. hdu6078 Wavel Sequence dp+二维树状数组

    //#pragma comment(linker, "/STACK:102400000,102400000") /** 题目:hdu6078 Wavel Sequence 链接:h ...

  7. impala+kudu

    [impala建表]kudu的表必须有主键,作为分区的字段需排在其他字段前面. [range分区](不推荐)CREATE TABLE KUDU_WATER_HISTORY ( id STRING, y ...

  8. java语言中public、private、protected三个关键字的用法,重写和重载的区别。

    java语言中public.private.protected三个关键字的用法,重写和重载的区别. 解答: 作用域 当前类 同包 子类 其它 public √ √ √ √ protected √ √ ...

  9. 组件(Conponent)是图形用户界面最基本的部分

    组件(Conponent)是图形用户界面最基本的部分,也称为构件 ,是可以以图形化的方式显示在屏幕上,并能与用户进行交互的对象,例如一个按钮,一个标签等. 组件不能独立地显示出来,必须将其放在一定的容 ...

  10. 解决使用VS2013创建的MVC项目在VS2015中打开的各种问题

    其实很多问题一直都存在,但是因为其不影响编译结果和运行结果,所以我也就一直没理它.但是问题放在那一直存在,偶尔想起来还有某些问题没解决的时候心里总是感觉不得劲,所以今天就彻底的查查资料解决了. 问题一 ...