(MBG)MyBatis Generator xml配置文件详解(四)

<context>标签

<context>标签用于指定生成一组对象的环境,通过其子标签可以指定要映射的表,数据库连接、要生成的对象类型;如果要连接多个数据库,或者配置多组不同的生成参数,可以在<generatorConfiguration>标签中使用多个<context>标签。

必须的属性
  • id:context的唯一标识,用于在错误信息的时候提示;
可选属性
  • defaultModelType:生成模式,可选的值:
    • flat:生成 扁平化的类,主键、BLOB、其他简单字段都生成在一个类当中
    • hierarchical: 生成层次结构的类,主键、BLOB、简单字段分辨创建3个类来放置,对于blob会提供”with BLOBs”和”without BLOBs”方法 ;
    • conditional:默认值,如果只有一个主键,主键和简单字段在一个类中;否则跟hierarchical类似;
  • targetRuntime:指定自动生成代码的运行时目标:
    • MyBatis3:默认值,支持mybatis3以上、jse5以上,生成”by example”方法
    • MyBatis3Simple:支持mybatis3、jse5以上,不生成”by example”方法
    • MyBatis3DynamicSql:支持mybatis3.4.2、java8以上、依赖”MyBatis Dynamic SQL”库,当选择此项:
      • ”defaultModelType”属性将被忽略为”flat”模式,
      • <javaClientGenerator>标签中的type将被忽略为annotated
      • 不会生成xml的map文件,同时<sqlMapGenerator>标签将被忽略
      • MyBatis Dynamic SQL supports table aliases in a “per query” manner rather than the “all or nothing” manner of the other runtimes,因此表别名将被忽略
    • Ibatis2Java2:支持mybatis 2.2.0(不支持3.0以上)、jse2以上
    • Ibatis2Java5:支持mybatis 2.2.0(不支持3.0以上)、jse5以上
      你也可以扩展org.mybatis.generator.api.IntrospectedTable类来实现自己的代码生成器,想要了解更多:Extending MyBatis Generator
  • introspectedColumnImpl:指定一个继承了org.mybatis.generator.api.IntrospectedColumn的类,用于在处理列信息时自定义代码生成器的行为。
子标签
  • <property> (0..N)
  • <plugin> (0..N)
  • <commentGenerator> (0 or 1)
  • <connectionFactory> (either connectionFactory or jdbcConnection is Required)
  • <jdbcConnection> (either connectionFactory or jdbcConnection is Required)
  • <javaTypeResolver> (0 or 1)
  • <javaModelGenerator>(1 Required)
  • <sqlMapGenerator> (0 or 1)
  • <javaClientGenerator> (0 or 1)
  • <table> (1..N)
支持的Properties

这些属性需要定义在<property>子标签中

  • autoDelimitKeywords:如果使用了sql的关键字作为数据对象名,为了避免出错,自动为数据对象名添加界定符,比如ORACLE就是双引号,MYSQL默认是反引号;关键字列表可以查看org.mybatis.generator.internal.db.SqlReservedWords`;默认值false。
  • beginningDelimiter:定义开始界定符,默认是双引号(“)
  • endingDelimiter:定义结束界定符,默认是双引号(“)
  • javaFileEncoding:指定生成的java文件的编码,例如:<property name="javaFileEncoding" value="UTF-8"/>,通过java.nio.charset.Charset可以查看支持的编码类型
  • javaFormatter:指定代码格式化器,接受一个全限定性类名,这个类必须实现’org.mybatis.generator.api.XmlFormatter’接口,并且必须有默认构造器,在一个context中此类将以单例的方式被调用;默认格式化器:org.mybatis.generator.api.dom.DefaultXmlFormatter;
  • xmlFormatter:与javaFormatter类似,这个是用来格式化xml代码的,必须实现org.mybatis.generator.api.XmlFormatter接口,默认的格式化器:org.mybatis.generator.api.dom.DefaultXmlFormatter
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值