java 轻量级 orm_java有哪些简洁的ORM框架?

1)简单SQL 不需要写代码。

2)通过Java 运算符重载实现了复杂SQL只需要定义一个模型

@DomainModel

public class Member {

private String no;

@Queryable

private String name;

private Integer gender;

private String mobile;

private String otherInfo;

@Relation(relationType = RelationType.HAS_MANY)

private List orders;

}你就可以

Member.countAll();

Member.count("id > ?", 1);

Member.queryByPrimaryKey(1);

Member.queryFirst("id = ?", 1);

Member.query("id > ?", 1);

Member.queryAll();

Member.queryAll(Member.HAS_MANY_ORDERS);

Member.queryByPrimary(1, Member.HAS_MANY_ORDERS);

Member.queryByName("demo", Member.HAS_MANY_ORDERS);

Page page = Page.create(0, 10);

PagedList members = Member.pagedQueryAll(page, Member.HAS_MANY_ORDERS);复杂SQL 处理

Order.Table orderTable = Order.asTable();

Select select = new Select();

// In ObjectiveSQL, Java operator can be overloaded

select.project(sum(orderTable.amount) / sum(orderTable.quantity) * 100)

.from(orderTable)

.where(orderTable.quantity > 30 &&

orderTable.salesAt.between("2020-10-10 00:00:00", "2020-10-30 23:59:59"))

.groupBy(orderTable.productId);

生成的SQL 如下:

SELECT SUM(`T0`.`amount`) / SUM(`T0`.`quantity`) * 100

FROM `orders` AS `T0`

WHERE `T0`.`quantity` > 30 AND

`T0`.`sales_at` BETWEEN '2020-10-10 00:00:00' AND '2020-10-30 23:59:59')

GROUP BY `T0`.`product_id`

基于Oracle JMH性能测试(虽然领先的差距不大,但多次运行持续领先):

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值