美文网首页
将 Mybatis Generator 集成进 Gradle T

将 Mybatis Generator 集成进 Gradle T

作者: hemiao3000 | 来源:发表于2021-09-29 13:52 被阅读0次

    由于 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

    相关文章

      网友评论

          本文标题:将 Mybatis Generator 集成进 Gradle T

          本文链接:https://www.haomeiwen.com/subject/bnrjnltx.html