mybatis 代码生成器

添加MGB必要的文件头

<?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_O.dtd">
<generatorConfiguration>
   <!-- 具体配置内容 -->
</generatorConfiguration>
  generatorConfiguration 下有三个子集标签分别是properties、classPathEntry和context在配置这3个标签的时候,必须注意它们的顺序,要和这里 列举的顺序一致
   第一个时properties标签。这个标签用来指定外部的属性元素,最多可以配置1个,也可以不配置。
       properties 标签用于指定一个需要在配置中解析使用的外部属性文件,引入属性文件后,可以在配置中使用${property}这种形式的引用,通过这种方式引用属性文件中的属性值, 对于后面需要配置的 JDBC 信息会很有用
      properties 标签包含 resource和url两个属性,只能使用其中一个属性来指定,同时出现则会报错。
       • resource :指定 classpath 下的属性文件,类似 com/myproject/generatorConfig.properties这样的属性值
       • url :指定文件系统上的特定位置,例如file:///C:/myproject/generatorConfig.properties
   第二个是 classPathEntry 标签。这个标签可以配置多个,也可以不配置。
      classPathEntry 标签最常见的用法是通过属性 location 指定驱动的路径,代码如下。
         <classPathEntry location="E:\mysql\mysql-connector-java-5.1.29.jar"/>
   第三个是 context 标签。这个标签是要重点讲解的,该标签至少配置1个,可以配置多个
      context 标签用于指定生成组对象的环境。例如指定要连接的数据库,要生成对象的类型和要处理的数据库中的表。运行MGB的时候还可以指定要运行的 context
            context 标签只有一个必选属id ,用来唯一确定该标签,该id属性可以在运行MGB时使用, 此外还有几个可选属性.
       • defaultModelType: 这个属性很重要,定义了 MBG 如何生成实体类。该属性有以下可选值
            > conditional: 默认值,和下面的 hierarchical 类似,如果一个表的主键只有一个字段,那么不会为该字段生成单独的实体类,而是会将该字段合并到基本实体类中。
            > flat::该模型只为每张表生成一个实体类。这个实体类包含表中的所有字段,这种模型最简单,推荐使用。
            > hierarchical :如果表有主键,那么该模型会产生一个单独的主键实体类,如果表还有BLOB字段,则会为表生成一个包含所有BLOB字段的单独的实体类,然后为所有其他的字段另外生成个单独的实体类。 MBG会在所有生成的实体类之间维护一个继承关系。
       • targetRuntime : 此属性用于指定生成的代码的运行时环境,支持以下可选值
            > MyBatis3: 默认值 。(按个人需求选择,建议使用该种配置)
            > MyBatis3Simple : 这种情况不会生成与 Example相关的方法。(后边会有介绍 Example)
       • introspectedColumnimpl :该参数可以指定扩展orgmybatis.generator.api.Introspected  Column 类的实现类。
 一般情况下,使用一下配置即可
       <context id="mysql"  defaultModelType="flat">
      如果不希望生成和 Example 查询有关的内容,则可以按照如下方法进行配置
      <context id="mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">

MBG 配置中的其他几个标签基本上都是context的子标,这些子标签(有严格的配置顺序,后面括号中的内容为这些标签可以配置的个数)包括以下几个。
     • property (0 个或多个)
     • plugin (0 个或多个)
     • commentGenerator (0 个或 1个)
     • jdbcConnection (1 个)
     • javaTypeResolver (0个或 1个)
     • javaModelGenerator (1 个)
     • sqlMapGenerator (0 个或 1个)
     • javaClientGenerator (0 个或1 个)
     • table (1个或多个)
 ->property


 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值