推荐 groovy 的 sql 模块

发现 groovy 的 sql 很好用,写下来代码风格和 d2js 很像,唯一的不足是没有 sql{..} 块的设计,但对 Java 程序员来说它已经非常友好了,来自它的网站的一段示例:

Now you can invoke sql, e.g. to create a table:

 sql.execute '''
     create table PROJECT (
         id integer not null,
         name varchar(50),
         url varchar(100),
     )
 '''
 
> Or insert a row using JDBC PreparedStatement inspired syntax:
```groovy
 def params = [10, 'Groovy', 'http://groovy.codehaus.org']
 sql.execute 'insert into PROJECT (id, name, url) values (?, ?, ?)', params

Or insert a row using GString syntax:

 def map = [id:20, name:'Grails', url:'http://grails.codehaus.org']
 sql.execute "insert into PROJECT (id, name, url) values ($map.id, $map.name, $map.url)"

Or a row update:

 def newUrl = 'http://grails.org'
 def project = 'Grails'
 sql.executeUpdate "update PROJECT set url=$newUrl where name=$project"

Now try a query using eachRow:

 println 'Some GR8 projects:'
 sql.eachRow('select * from PROJECT') { row ->
     println "${row.name.padRight(10)} ($row.url)"
 }

看看有多像,并且也支持 ORM。https://docs.groovy-lang.org/latest/html/api/groovy/sql/Sql.html

groovy 操作 Json 也是一绝,有点动态化,可以随时用 . 和 [],不需要看类型。

搞 CRUD 又离不开 Java 的朋友可以选择 groovy,编写个接口什么的事半功倍,groovy 编译得到是 Java class,和 Java 百分百兼容,二者可以混用, groovy 可以访问 Java 的类,Java 也能用 groovy 的类。想想看别人还在忙着写无法调试的 mybatis 你就已经下班了多快乐,不用太感谢我。

当然如果你还需要热部署等特性还是可以考虑 d2js,d2js 更像是一个只玩数据库的微服务架构。

posted @ 2022-05-12 16:09  Inshua  阅读(673)  评论(0编辑  收藏  举报