ObjectiveSql 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
ObjectiveSql 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
ObjectiveSql 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 ObjectiveSql
适用人群 未知
收录时间 2020-10-07

软件简介

ObjectiveSQL(简称: objsql,中文译为: 对象化SQL或者面向对象SQL)是一种ORM 技术在Java 中的应用,其主要思想为ActiveRecord,使传统应用程序开发中的VO,PO等变为真正的Java Class,不仅拥有相关状态,同时也应有相关行为。ObjectiveSQL 基于JSR 269,实现了数据库访问的动态代码生成,并且在其中封装了关系型数据库的常用逻辑,使得应用程序开发变得极其简单,由于动态代码生成,ObjectiveSQL 不依赖其它外部框架,可以在任何场景下独立运行,具体示例如下:

@DomainModel
public class Order {
    private String no;
    private Integer memberId;
    private Double amount;
    private Double quantity;

    @Relation(relationType = RelationType.BELONGS_TO)
    private Member member;

    @Transactional
    public static void makeOrder(Order order, OrderLine... orderLines) throws SQLException {
        Order.create(order, false);
        OrderLine.create(orderLines, false);
    }
}

上述示例代码中定义了Field(对应数据库表中的Column), 定义了关系(@Relation 意味着一个笔订单属于一个会员),在SELECT 时指定关系则可以自动填充该Field, 定义了数据库事务(@Transactional makeOrder)业务方法,方法体中的数据库操作均在数据库事务内运行,自动回滚和提交。部分使用API 如下:

Member newMember = new Member();
// To set the field value for "newMember"
newMember.save(false); //Skip the validation
// newMember.save(true); // Validating the field value before save
List<Member> members = Member.queryAll();
int count = Member.count("id > ?", 10);

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(57)
发表了资讯
2020/12/28 10:19

ObjectiveSQL 1.4.6 版本正式发布

ObjectiveSQL 1.4.6 版本主要包括以下特性: SQL 语句构造性能优化,基于JMH 进行性能测试,超越现有主要ORM 框架(测试代码见项目:benchmark 目录) 提供TableNameEncoder 扩展接口,用于注入表名称构造逻辑 修复 多个 IntelliJ IDEA 插件Bug 项目地址:https://github.com/braisdom/ObjectiveSql 性能测试图如下:...

2
1
2020/12/15 10:20

ObjectiveSQL 正式发布 1.4.3 版本

各位,本次新版本做了比较大的优化,主要修复的问题如下:#79,#48,#67,#56 项目地址:https://github.com/braisdom/ObjectiveSql 重点特性介绍: 1)优化SQL 生成逻辑 Order.Table orderTable = Order.asTable(); Select select = new Select(); select.project((sum(orderTable.amount) / sum(orderTable.quantity) * 100).as("unit_amount")) .from(orderTable) .where(orderTable.quantity > 30 ...

4
2
发表于数据库专区
2020/11/27 20:59

ObjectiveSQL 稳定版本发布 1.4.0

经过这段时间各位提交的Bug和版本的基本特性,发1.4.0 稳定版本,主要特性如下: 持久化 Member.create(newMember); Member.create(newMember, true); // Create a member without validating Member.create(Member.newInstanceFrom(memberHash)); Member.create(new Member[]{newMember1, newMember2, newMember3}, false); Member.update(1L, newMember, true); // Update a member with primary key Member.update(...

14
8
发表于数据库专区
2020/11/08 22:50

ObjectiveSQL 1.3.6 版本发布,过程化 SQL 编程&等价表达式

ObjectiveSQL 第一个正式版本提供了自动生成代码的特性,替代了简单SQL 的编程的编码工作,紧接着推出复杂SQL的解决方案。 ObjectiveSQL 通过修改Java 编译器,实现了运算符重载,可以实现Java 的运算符直接映射为SQL 的运算符,可以实现表达式的一致性,从而实现SQL 的过程化编程,使得复杂SQL 的编程变得简洁、易懂,具体请参考官方文档。 官方地址:http://www.objsql.com Github: https://github.com/braisdom/ObjectiveSq...

22
3
2020/10/22 13:45

ObjectiveSQL 正式发布 1.3.5 版本

ObjectiveSQL 是一个基于ActiveRecored 模式的Java ORM 框架,零配置,基于已定义的领域模型,自动生成数据库访问逻辑代码,并提供便捷的API,简化Java 编码过程中的SQL 编程,提升应用系统的开发效率,降低代码量。 经过三个月的开发和测试,在10月初发布稳定版本1.3.5,1.3.5 版本主要包括: 动态生成数据模型访问数据库的 JAVA API 代码,其中包括数据库访问的SELECT、INSERT、UPDATE 和DELETE 根据Relation 注解的定义,在查...

31
14
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
57 评论
2.2K 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部