当前位置:首页 > 技术文章 > 正文内容

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

zonemu2个月前 (08-16)技术文章35

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

性能展示

ObjectiveSQL使用例子

复杂的SQL编程

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

零编码的简单SQL编程

持久化(Persistence)

计数和查询(Counting and Quering)

关联查询(Relation Quering)

分页查询(Paged Quering)

总结

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

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

相关文章

据说是可以替代 Windows 的 5个 Linux 发行版

现如今有数以千计的 Linux 发行版可供您使用,然而人们却无法选择一个完美的操作系统来替代 Windows。 使用 Windows 时,傻瓜都能操作自如,同样的方法却不适用于 Linux。在这里,您...

Vue3开发极简入门(14):组件间通信之props、ref&defineExpose

组件间的关系可以分为:父子关系。以前文的代码为例,最典型的就是App.vue与Car.vue这种,APP是父,Car是子。祖孙关系。如果Car再引入一个子组件,这个子组件与App就是祖孙关系。其他。比...

Vue3,父组件子组件传值,provide(提供)和inject(注入)传值

父组件向子组件传值父子组件传递数据时,通常使用的是props和emit,父向子传递使用props,子向父传递使用emit。子组件接收3种方式// 1、简单接收 props:["title...

vue3源码分析——实现组件通信provide,inject

引言<<往期回顾>>vue3源码分析——rollup打包monorepovue3源码分析——实现组件的挂载流程vue3源码分析——实现props,emit,事件处理等vue3源...

(一)熟练HTML5+CSS3,每天复习一遍

前言学习网页的概念和分类,了解静态网页和动态网页的不同;了解网页浏览器的工作原理。了解HTML,XHTML,HTML5的概念,制作简单的HTML页面的开发。什么是网页可以在internet上通过网页浏...

在html5页面中如何使用vue3(html页面引入vue组件)

今天是2021.7.14,是个好日子.好久没发布文章了.今天发布下如何在在html页面中使用vue3.义县游学电子科技一直以技术文章为主.以下是h5的页面源码:<html><scri...