還在用Myabtis、Hibernate嗎?請嘗試新ORM
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等等,你會如何選擇呢?