- 0或者1个<properties>标签 , 用于指定全局配置文件 , 下面可以通过占位符的形式读取<properties>指定文件中的值 。
- 0或者N个<classPathEntry>标签 , <classPathEntry>只有一个location属性 , 用于指定数据源驱动包(jar或者zip)的绝对路径 , 具体选择什么驱动包取决于连接什么类型的数据源 。
- 1或者N个<context>标签 , 用于运行时的解析模式和具体的代码生成行为 , 所以这个标签里面的配置是最重要的 。
context标签<context>标签在mybatis-generator-core中对应的实现类为
org.mybatis.generator.config.Context , 它除了大量的子标签配置之外 , 比较主要的属性是:
- id:Context示例的唯一ID , 用于输出错误信息时候作为唯一标记 。
- targetRuntime:用于执行代码生成模式 。
- defaultModelType :控制 Domain 类的生成行为 。执行引擎为 MyBatis3DynamicSql 或者 MyBatis3Kotlin 时忽略此配置 , 可选值: conditional:默认值 , 类似hierarchical , 但是只有一个主键的时候会合并所有属性生成在同一个类 。flat:所有内容全部生成在一个对象中 。hierarchical:键生成一个XXKey对象 , Blob等单独生成一个对象 , 其他简单属性在一个对象中 。
功能描述
MyBatis3DynamicSql
默认值 , 兼容JDK8+和MyBatis 3.4.2+ , 不会生成XML映射文件 , 忽略<sqlMapGenerator>的配置项 , 也就是Mapper全部注解化 , 依赖于MyBatis Dynamic SQL类库
MyBatis3Kotlin
行为类似于MyBatis3DynamicSql , 不过兼容Kotlin的代码生成
MyBatis3
提供基本的基于动态SQL的CRUD方法和XXXByExample方法 , 会生成XML映射文件
MyBatis3Simple
提供基本的基于动态SQL的CRUD方法 , 会生成XML映射文件
MyBatis3DynamicSqlV1
已经过时 , 不推荐使用
笔者偏向于把SQL文件和代码分离 , 所以一般选用MyBatis3或者MyBatis3Simple 。例如:
<context id="default" targetRuntime="MyBatis3"><context>标签支持0或N个<property>标签 , <property>的可选属性有:功能描述
默认值
备注
autoDelimitKeywords
是否使用分隔符号括住数据库关键字
false
例如MySQL中会使用反引号括住关键字
beginningDelimiter
分隔符号的开始符号
"
endingDelimiter
分隔符号的结束号
"
javaFileEncoding
文件的编码
系统默认值
来源于java.nio.charset.Charset
javaFormatter
类名和文件格式化器
DefaultJavaFormatter
见JavaFormatter和DefaultJavaFormatter
targetJava8
是否JDK8和启动其特性
true
kotlinFileEncoding
Kotlin文件编码
系统默认值
来源于java.nio.charset.Charset
kotlinFormatter
Kotlin类名和文件格式化器
DefaultKotlinFormatter
见KotlinFormatter和DefaultKotlinFormatter
xmlFormatter
XML文件格式化器
DefaultXmlFormatter
见XmlFormatter和DefaultXmlFormatter
jdbcConnection标签<jdbcConnection>标签用于指定数据源的连接信息 , 它在mybatis-generator-core中对应的实现类为
推荐阅读
- 如何挑选金银花
- 如何挑选干花椒叶
- 如何挑选油茶籽油
- 春季养生花茶搭配,养生花茶的搭配与功效
- 喝普洱茶的禁忌,喝普洱茶的禁忌要注意几点
- 花生|5招韩国大热的瘦身吃法,看似什么都能吃,却又跟常人吃得不一样
- NVIDIA|NVIDIA更新GeForce Now:为Apple Silicon处理器提供原生支持
- 月薪|月薪1.4万招不到机械毕业生引热议:学生早被其它厂二三十万年薪签走
- 杜仲泡酒,杜仲泡酒养生功效大
- 行尸走肉|卡罗尔演员退出《行尸走肉》衍生剧 原计划与弩哥共同主演
