8

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

 3 years ago
source link: http://database.51cto.com/art/202101/638607.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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的动态代码生成将帮助您无需编码即可访问数据库

性能展示

AvaQjef.png!mobile

ObjectiveSQL使用例子

复杂的SQL编程

jyY7B3.png!mobile

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

零编码的简单SQL编程

m6ziQj3.png!mobile

持久化(Persistence)

6fuAfqB.png!mobile

计数和查询(Counting and Quering)

Jzyaqy2.png!mobile

关联查询(Relation Quering)

A3uERbJ.png!mobile

分页查询(Paged Quering)

ZNRvEnN.png!mobile

总结

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

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

【责任编辑:未丽燕 TEL:(010)68476606】


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK