推荐 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 更像是一个只玩数据库的微服务架构。
推荐 groovy 的 sql 模块的更多相关文章
- 使用Groovy的sql模块操作mysql进行多种查询
连接数据库,这里要创建一个sql实例来操作数据库,必须加载jdbc驱动包,使用两个注解,否则会报错: import groovy.sql.Sql url='jdbc:mysql://localhost ...
- [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)
原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天 ...
- [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)
原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/S ...
- [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)
原文:[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程详解之三: PL/SQL流程控制语句(不给规则,不成方圆) ...
- [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)
原文:[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之四: 把游标说透(不怕做不到,只怕想不到) 继上两篇:ORACLE PL ...
- [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)
原文:[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) [推荐]ORACLE PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下 ...
- (二)基于商品属性的相似商品推荐算法——Flink SQL实时计算实现商品的隐式评分
系列随笔: (总览)基于商品属性的相似商品推荐算法 (一)基于商品属性的相似商品推荐算法--整体框架及处理流程 (二)基于商品属性的相似商品推荐算法--Flink SQL实时计算实现商品的隐式评分 ( ...
- 推荐:经典SQL语句大全
一.基础 .说明:备份sql server--- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mss ...
- 推荐几个sql server牛人的博客
Aaron Bertrand http://sqlblog.com/blogs/aaron_bertrand/ Brent Ozar www.brentozar.com/ Buck Woody htt ...
- SQL & PL/SQL 模块总结
SQL 1. 各种function 2. merge 3. connect by PL/SQL 1. pl/sql 寄出 2. 游标 3. procedure 4. function 5. packa ...
随机推荐
- react native 环境搭建遇到问题
关于pod install 慢的要死的问题 解决方法记录 开始时显示ruby有问题,卸载cocoapods重装的 然后启动不起来,到ios目录下执行 pod install 然后太慢尝 ...
- SMMU中stage1 和stage2 的意思
ARM SMMU(System Memory Management Unit)是一种用于ARM架构的内存管理单元,它支持两阶段的地址转换机制,即Stage 1和Stage 2.这种机制允许操作系统和虚 ...
- ftrace irqs跟踪器
当中断被关闭(俗称关中断)了,CPU就不能响应其他的事件,如果这时有一个鼠标中断,要在下一次开中断时才能响应这个鼠标中断,这段延迟称为中断延迟.向current_tracer 文件写入 irqsoff ...
- C # 的 IsNullOrEmpty
作用:判断字符串是否是 null 或者 "" 如果是 null or "" 就返回 true IsNullOrEmpty是判断字符串的Null值和"& ...
- 洛谷P1219八皇后问题
[USACO1.5] 八皇后 Checker Challenge 题目链接 题目描述 一个如下的 \(6 \times 6\) 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对 ...
- Fluent Operator:云原生日志管理的一把瑞士军刀
作者:程德昊,Fluent Member,KubeSphere Member Fluent Operator 介绍 随着云原生技术的快速发展,技术的不断迭代,对于日志的采集.处理及转发提出了更高的要 ...
- 2024Ciscn总决赛Web Writeup
前言 鸽了三个月的复现计划:) ezjs 考点是express引擎解析的一个trick,在高版本的express已经修复,先贴源码 const express = require('express') ...
- 当多核变单核:破解CPU核心神秘失踪的终极指南!
CPU 核心与线程识别问题解决文档 1. 背景 在一台物理主机上运行 lscpu 命令时,发现系统仅识别到 1 个核心和 1 个线程,尽管主机搭载的是 Intel Xeon E5-2686 v4 处理 ...
- SpringBoot学习 _02 _配置单数据源(1)
SpringBoot学习 _02 _配置单数据源(1) 1.通过IDEA创建SpringBoot项目 直接到选择依赖这一步,选择如图所示的 五个依赖即可 2.配置文件的编写 此处说明一下,这个数据库连 ...
- Java面试真题之中级进阶(线程,进程,序列化,IO流,NIO)
前言 本来想着给自己放松一下,刷刷博客,慕然回首,线程.程序.进程?Java 序列化?Java 中 IO 流? Java IO与 NIO的区别(补充)?似乎有点模糊了,那就大概看一下Java基础面试题 ...