内容简介:ObjectiveSQL 第一个正式版本提供了自动生成代码的特性,替代了简单SQL 的编程的编码工作,紧接着推出复杂SQL的解决方案。 ObjectiveSQL 通过修改Java 编译器,实现了运算符重载,可以实现Java 的运算符直接映射为...
ObjectiveSQL 第一个正式版本提供了自动生成代码的特性,替代了简单 SQL 的编程的编码工作,紧接着推出复杂SQL的解决方案。
ObjectiveSQL 通过修改 Java 编译器,实现了运算符重载,可以实现Java 的运算符直接映射为SQL 的运算符,可以实现表达式的一致性,从而实现SQL 的过程化编程,使得复杂SQL 的编程变得简洁、易懂,具体请参考官方文档。
Github: https://github.com/braisdom/ObjectiveSql
Gitee: https://gitee.com/mirrors/ObjectiveSql
IntelliJ IDEA 插件(由于1.2.7 版本还未上线,请参考文档安装):http://www.objsql.com/docs/basic/intellij
- 过程化SQL 编程
// Calculating the member related order data
Member.Table memberTable = Member.asTable();
Order.Table orderTable = Order.asTable();
Select select = new Select();
select.from(orderTable, memberTable);
select.where(orderTable.memberId.eq(memberTable.id));
select.project(memberTable.no, memberTable.name, memberTable.mobile);
select.project(countDistinct(orderTable.no).as("order_count"))
.project(sum(orderTable.quantity).as("total_quantity"))
.project(sum(orderTable.amount).as("total_amount"))
.project(min(orderTable.salesAt).as("first_shopping"))
.project(max(orderTable.salesAt).as("last_shopping"));
select.groupBy(memberTable.no, memberTable.name, memberTable.mobile);
上述代码生成的SQL 如下:
SELECT
`T0`.`no` ,
`T0`.`name` ,
`T0`.`mobile` ,
COUNT(DISTINCT `T1`.`no` ) AS `order_count`,
SUM(`T1`.`quantity` ) AS `total_quantity`,
SUM(`T1`.`amount` ) AS `total_amount`,
MIN(`T1`.`sales_at` ) AS `first_shopping`,
MAX(`T1`.`sales_at` ) AS `last_shopping`
FROM
`orders` AS `T1`,
`members` AS `T0`
WHERE
(`T1`.`member_id` = `T0`.`id` )
GROUP BY
`T0`.`no` ,
`T0`.`name` ,
`T0`.`mobile`
2. 等价表达式(Java 计算表达式可以映射为SQL 语句表达式)
Order.Table orderTable = Order.asTable();
Select select = new Select();
select.project(sum(orderTable.amount) / sum(orderTable.quantity) * $(100) )
.from(orderTable)
.groupBy(orderTable.productId);
上述代码生成的SQL 如下:
SELECT SUM(order.amount) / SUM(order.quantity) * 100
FROM orders AS order GROUP BY order.produc_id
以上所述就是小编给大家介绍的《ObjectiveSQL 1.3.6 版本发布,过程化 SQL 编程&等价表达式》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- P1003 等价表达式
- 正则表达式 \D 元字符(等价于"[^0-9]")
- Python列表推导式一则:等价类划分
- 数据中心网络等价多路径ECMP技术
- D中C#`readonly`关键字的等价物?
- 技术盛宴 | 数据中心网络等价多路径(ECMP)技术应用研究
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
30天自制操作系统
[日] 川合秀实 / 周自恒、李黎明、曾祥江、张文旭 / 人民邮电出版社 / 2012-8 / 99.00元
自己编写一个操作系统,是许多程序员的梦想。也许有人曾经挑战过,但因为太难而放弃了。其实你错了,你的失败并不是因为编写操作系统太难,而是因为没有人告诉你那其实是一件很简单的事。那么,你想不想再挑战一次呢? 这是一本兼具趣味性、实用性与学习性的书籍。作者从计算机的构造、汇编语言、C语言开始解说,让你在实践中掌握算法。在这本书的指导下,从零编写所有代码,30天后就可以制作出一个具有窗口系统的32位......一起来看看 《30天自制操作系统》 这本书的介绍吧!
随机密码生成器
多种字符组合密码
RGB HSV 转换
RGB HSV 互转工具