由于 Mybatis generator 目前还没有官方的 Gradle 插件,所以我就将这部分生成的逻辑封装成了一个 Gradle task。
完整配置可参考 dao/build.gradle
import org.mybatis.generator.api.MyBatisGenerator
import org.mybatis.generator.config.xml.ConfigurationParser
import org.mybatis.generator.internal.DefaultShellCallback
buildscript {
repositories {
mavenCentral()
}
// 配置 gradle plugin 或 task 需要的依赖
dependencies {
classpath group: 'org.mybatis.generator', name: 'mybatis-generator-core', version: '1.4.0'
classpath group: 'mysql', name: 'mysql-connector-java', version: '8.0.25'
}
}
task mybatisGenerate {
def warnings = new ArrayList<String>()
def overwrite = true
def configurationFile = projectDir.getAbsolutePath() + '/src/main/resources/generatorConfiguration.xml'
def configFile = new File(configurationFile)
def cp = new ConfigurationParser(warnings)
def config = cp.parseConfiguration(configFile)
def callback = new DefaultShellCallback(overwrite)
def myBatisGenerator = new MyBatisGenerator(config, callback, warnings)
myBatisGenerator.generate(null)
}
代码的生成规则都放在 generatorConfiguration.xml
配置文件中(关于 Mybatis generator 的更多配置可以参考官方文档 )。
一定记得在 context 标签中配置 targetRuntime="MyBatis3DynamicSql"
,这样才能生成 mybatis dynamic sql 框架需要的代码。
这样配置完成以后只需要执行 mybatisGenerator 这个 task 就可以生成代码了,如果你使用的是 Intellij IDEA 的话,可以在右侧工具栏找到该 task
网友评论