前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >请在Java项目抛弃Mybatis、Hibernate,是时候上新了--ObjectiveSQL

请在Java项目抛弃Mybatis、Hibernate,是时候上新了--ObjectiveSQL

作者头像
用户8554325
发布2023-03-10 20:06:20
4650
发布2023-03-10 20:06:20
举报
文章被收录于专栏:热度技术

ObjectvieSQL简介

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

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

ObjectiveSQL 主要解决:

l动态代码生成:基于领域模型(Domain Model),自动生成简单SQL 编程代码,使应用系统开发只关注自身的业务特性,提升开发效率;

l可编程SQL:将SQL 中的控制原语、谓词、函数以及过程化逻辑等抽象为Java 中的高级类型,与Java 融为一体,使得SQL 成为真正过程化、逻辑型编程语言,可封装、可复用以及单元测试;

l表达式语法一致性:Java 语法与SQL 语法等价替换,包括:数学计算、函数调用、比较与逻辑计算表达式,Java 表达式可以直接转换为SQL 表达式;

ObjectiveSQL特性

l使用一个注释,您便Class具有SQL编程的全功能

l简单的关系查询(has_one,has_many和belongs_to)和分页查询

l使用Java语法编写SQL表达式(arithmetic,comparison和logical)

为什么要选择ObjectiveSQL

l如果您的项目专注于基于关系数据库的数据分析,以及SQL语句中的许多算术表达式。ObjectiveSQL将帮助您使用Java语法方便且安全地编写表达式。

l如果您不想编写数据库访问和各种配置文件的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等等,你会如何选择呢?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 聊聊电商业务与技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ObjectiveSQL特性
  • 为什么要选择ObjectiveSQL
  • 性能展示
  • ObjectiveSQL使用例子
    • 复杂的SQL编程
      • 零编码的简单SQL编程
        • 持久化(Persistence)
          • 计数和查询(Counting and Quering)
            • 关联查询(Relation Quering)
              • 分页查询(Paged Quering)
                • 总结
                相关产品与服务
                数据库
                云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档