idea + groovy + mybatis 自动生成 Dao、mappings 和 实体类

背景

在 windows 系统中,idea 在 C:\Users\用户名\.IntelliJIdea2018.2\config\extensions\com.intellij.database\schema 目录下默认存在如下 Groovy 文件:Generate POJOs.groovy,配合 idea 的 Database 数据库管理工具,可以快速生成 POJO 类。

于是我想何不基于这个类编写 groovy 代码自动生成 mappings 和 dao 呢,并按自己项目需要改造 Generate POJOs.groovy

Groovy

groovy 是在 java 平台上的、具有象 Python,Ruby 和 Smalltalk 语言特性的灵活动态语言,groovy 保证了这些
特性象 java 语法一样被 java 开发者使用。 – 《Groovy in action》

Groovy 跟 java 一样是运行于 JVM 之上的语言,比起 java 拥有许多语法上的便利,可以无缝使用 java 类库及其特性,甚至可以直接用 Groovy 开发 Web 程序。

推荐一个 Youtube 上一小时多的视频,看完 Groovy 的大部分语法也就掌握了: Groovy Tutorial

实现

无论是修改 Generate POJOs.groovy 还是在其基础之上编写新的 groovy 文件都需要将其放于C:\Users\用户名\.IntelliJIdea2018.2\config\extensions\com.intellij.database\schema 目录下,这样文件中引入的 com.intellij.database.* 才能找到,新建 idea 项目也会在 Scratches and Consoles 目录下找到。
image.png
连上数据库后就可以选中要生成的表,鼠标右键即可看到。
image.png

代码说明

先拿 Generate POJOs.groovy 举例进行说明,关键代码如下:

FILES.chooseDirectoryAndSave("Choose directory", "Choose where to store generated files") {
     dir ->
    SELECTION.filter {
     it instanceof DasTable }.each {
     generate(it, dir) }
}

def generate(table, dir) {
    
    def className = javaName(table.getName(), true)
    def fields = ca
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值