还在用Myabtis、Hibernate吗?请尝试新ORM

数据库
ObjectiveSQL 是一个Java ORM 框架,它不仅是Active Record 模式在Java 中的应用,同时还针对复杂SQL 编程提供近乎完美的解决方案,使得Java 代码与SQL 语句有机的结合,改变了传统SQL 的编程模型(以字符串拼接为主的编程模型)。

ObjectvieSQL简介

ObjectiveSQL 是一个Java ORM 框架,它不仅是Active Record 模式在Java 中的应用,同时还针对复杂SQL 编程提供近乎完美的解决方案,使得Java 代码与SQL 语句有机的结合,改变了传统SQL 的编程模型(以字符串拼接为主的编程模型)。

ObjectiveSQL 项目分为两部分:一部分是运行期Maven 依赖 objective-sql 或 objsql-springboot,主要实现了基础的ORM 特性和SQL 编程模型,另一部分是IntelliJ IDEA 插件,兼容Java 运算符重载和动态代码提示。

ObjectiveSQL 主要解决:

  • 动态代码生成:基于领域模型(Domain Model),自动生成简单SQL 编程代码,使应用系统开发只关注自身的业务特性,提升开发效率;
  • 可编程SQL:将SQL 中的控制原语、谓词、函数以及过程化逻辑等抽象为Java 中的高级类型,与Java 融为一体,使得SQL 成为真正过程化、逻辑型编程语言,可封装、可复用以及单元测试;
  • 表达式语法一致性:Java 语法与SQL 语法等价替换,包括:数学计算、函数调用、比较与逻辑计算表达式,Java 表达式可以直接转换为SQL 表达式;

ObjectiveSQL特性

  • 使用一个注释,您便Class具有SQL编程的全功能
  • 简单的关系查询(has_one,has_many和belongs_to)和分页查询
  • 使用Java语法编写SQL表达式(arithmetic,comparison和logical)

为什么要选择ObjectiveSQL

  • 如果您的项目专注于基于关系数据库的数据分析,以及SQL语句中的许多算术表达式。ObjectiveSQL将帮助您使用Java语法方便且安全地编写表达式。
  • 如果您不想编写数据库访问和各种配置文件的Java代码,ObjectiveSQL的动态代码生成将帮助您无需编码即可访问数据库

性能展示

 

还在用Myabtis、Hibernate吗?请尝试新ORM

ObjectiveSQL使用例子

复杂的SQL编程

 

还在用Myabtis、Hibernate吗?请尝试新ORM

如您所见,Java运算符可以转换为SQL运算符,这意味着您可以使用Java语法编写SQL。在Java中,可以进行SQL动态编程,逻辑等。

零编码的简单SQL编程

 

还在用Myabtis、Hibernate吗?请尝试新ORM

持久化(Persistence)

 

还在用Myabtis、Hibernate吗?请尝试新ORM

计数和查询(Counting and Quering)

 

还在用Myabtis、Hibernate吗?请尝试新ORM

关联查询(Relation Quering)

 

还在用Myabtis、Hibernate吗?请尝试新ORM

分页查询(Paged Quering)

 

还在用Myabtis、Hibernate吗?请尝试新ORM

总结

看完这个ORM框架,让我想起了以前的JFINAL里的ORM,当然如何选择项目的ORM还是要依据项目具体情况具体分析,看项目里Model是贫血模型还是充血模型,是重关系数据库还是其他等等,不能简单的看纸面数据,因为你不深入补课,会在项目开发中碰到意想不到的问题,拖延进度。

因此,Myabtis、Hibernate、JPA和ObjectiveSQL等等,你会如何选择呢?

责任编辑:未丽燕 来源: 今日头条
相关推荐

2012-07-19 10:03:32

2021-11-02 16:44:40

部署DevtoolsJRebel

2020-03-04 14:05:35

戴尔

2009-09-21 17:55:14

Hibernate O

2009-09-22 13:09:06

Hibernateorm框架

2012-06-02 01:36:22

HibernateJava持久层框架

2009-06-02 17:27:28

Hibernate框架ORM

2009-09-28 11:12:52

Hibernate O

2020-07-28 16:28:55

微软Windows 10 Windows 10X

2023-02-01 10:40:01

2009-06-26 16:19:32

Hibernate实现

2022-09-13 17:54:55

CSS定时器监听事件

2012-03-09 09:26:39

JavaHibernate

2011-05-04 13:28:07

喷墨打印机供墨

2021-10-14 18:15:38

BeanUtils对象生成器

2024-04-11 09:17:51

ArraysJava安全

2022-11-14 18:43:03

JSCSS节流

2009-09-22 17:13:53

Hibernate O

2022-06-24 08:20:56

requests爬虫Python

2015-05-14 14:27:39

拨号上网
点赞
收藏

51CTO技术栈公众号