本文笔记于Mybatis Generator
MyBatis Generator (MBG) is a code generator for MyBatis. 它将会为databsae table生成所有用来访问该table的code,包括增删改查,但我们仍需要处理join查询和Store Procedure。
Generator将会生成如下:
- 对应table schema的Java POJO;
- SQL map XML 文件;
3. Mapper interface (对于MyBatis 3.x)
MyBatis generator被设计用于迭代式开发环境,可以作为Ant task或Maven plugin导入。当已经存在名称相同的xml file, MGB会自动merge XML files,并不会覆盖特殊的配置。 MGB并不会merge Java files,要么重写以前的文件,要么将新创建的文件生成不同的新的名字,所以Java file中的特殊配置会被直接覆盖丢掉。
Integration:
在Gadle中使用MyBatis generator,可以使用导入plugin的方式来使用。
build.gradle
plugins {
id "com.arenagod.gradle.MybatisGenerator" version "1.4"
}
dependencies {
compile fileTree('lib') {
include 'ojdbc6.jar'
}
....other dependency
}
configurations {
mybatisGenerator
}
mybatisGenerator {
verbose = true
configFile = 'src/main/resources/generatorConfig.xml'
}
Configuration:
在project中配置MyBatis generator,默认location: ${basedir}/src/main/resources/generatorConfig.xml
至少要包含下面内容:
<jdbcConnection>: specify how to connect to the target database
<javaModelGenerator>:specify target package and target project for generated Java model objects
<sqlMapGenerator>:specify target package and target project for generated SQL map files
<javaClientGenerator>:specify target package and target project for generated client interfaces and classes (optional)
At least one database <table> element。
src/main/resources/generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<classPathEntry>用来添加classpath,用来寻找lib文件。
Execution:
在IntelliJ+gradle project中执行generator: 右侧的Gradle->project->other->mbGenerator中右击选择执行来生成.