它結合的活動記錄,存儲過程,先進的數據類型,複雜的SQL,類型安全,源代碼生成和Java的流暢,直觀的DSL。
jOOQ生成數據庫模式的一個簡單的Java表示。
對於每一個表,視圖,存儲過程,枚舉,UDT是一類。
jOOQ實現了一個易於使用的活動記錄模式。它不是一個OR映射器,但提供了一個1:表/視圖和類之間的1映射。列之間和成員。
它還允許寫入編譯時使用類型安全的內置DSL查詢。
jOOQ支持所有標準的SQL語言功能,包括更複雜的聯盟,嵌套的選用,連接,走樣
jOOQ允許開發人員使用供應商特定的擴展,如存儲過程,用戶定義類型的,數組等等
功能:
- 一般特點:
- 在面向對象建模SQL
- 在SQL代碼生成
- OR-映射
- 類型安全的SQL
- 存儲過程和UDT支持
- 支持的數據庫:
- 的MySQL 5.1.41和5.5.8
- H2 1.3.154
- 在甲骨文XE 10.2.0.1.0
- 在DB2 9.7
- 的PostgreSQL 9.0
- HSQLDB 2.0.0
- 的SQLite與非官方的JDBC驅動程序v056
- 德比10.7
- MSSQL
- 的Sybase
- 對於未來的支持:
- 安格爾
- 火鳥
什麼在此版本中是新的:
- 在廠已經分成DSL(靜態QueryPart建) DSLContext(查詢執行,"連接" QueryPart建設)。這大大提高了整體的DSL體驗,同時允許更細粒度的執行人生命週期的控制。
- 系統的ConnectionProvider已經出台的JDBC連接生命週期的抽象。獨立的連接和數據源池模式仍然支持,但你現在可以進行更多的控制注入自己的ConnectionProvider。
- 在很多性能方面的改進已在jOOQ API消除大部分由jOOQ獲取從JDBC數據時引起的開銷內實施
- 在一個JDBC API模擬已經加入到幫助你建立在jOOQ之上的應用程序中創建簡單的單元測試。
- a值()構造函數現在支持,並一氣呵成派生列列表別名表和列。
- 的數據類型的API已經大大簡化。這使得引進的精密運行時間,規模和長度的信息。
- CRUD已經通過更多的CRUD批量操作,明確INSERT和UPDATE(除存儲()),以及jOOQ的內部改變標誌明確的處理改善。
什麼版本2.6.1是新的:
- 在壞Postgres的數組序列,當"或\字符都包含在一個字符串[]
- AbstractDataType.equals的低效實現()和hashCode()
- 在提高AbstractField.hashCode()和AbstractTable.hashCode()和類似的,因為這兩個被稱為經常
- 來String.split()在StringUtils.toCamelCase()調用低效導致了不可忽略的性能ovrerhead POJO中呼籲轉變
- 在糟糕的SQL相結合時,ORDER BY [某些功能]與LIMIT呈現..抵消了DB2,SQL服務器
- 糟糕的SQL為SQL Server和Sybase呈現為OVER(ORDER BY [某些功能])
- 在org.jooq.impl.FieldList線程安全問題
- 壞參考org.jooq.debug。[IMPL] .DebugListener在手動
- 壞代碼時相同的表名在SQL Server 多種模式存在產生
在什麼版本2.5.0新是:
- 在安格爾刪除綁定值鑄造李>
- 模擬RPAD和LPAD SQLite中
- 將支持Oracle Text的功能
- 將選項生成不變的POJO
- 支持"樂觀鎖"在UpdatableRecord.store()和delete()
- 生成fetchBy [的ColumnName]生成的DAO類的方法
- 添加一些的Javadoc文件使用工廠與連接或數據源之間的差異
- 將javax.validation API來完全交付
- 將Factory.connectByRoot(現場<>),以支持Oracle CONNECT_BY_ROOT偽列
- 將Factory.condition(字符串,QueryPart ...)類似Factory.field(字符串,QueryPart ...)
- 將支持甲骨文的ORDER SIBLINGS BY子句,結合CONNECT BY
- 添加缺少的建設者採取的DataSource方言特有的工廠
- 生成缺少構造以數據源的模式,具體工廠
- 模擬REPEAT()SQLite中
在什麼版本2.4.0新是:
- 在新增Result.intoResultSet()來包裝一個結果在一個JDBC結果
- 避免的日期/時間文字JDBC轉義語法
- 生成DAO類和接口的POJO
- 在文檔中的ExecuteListener的在Javadoc 的生命週期
- 新增對Postgres的&QUOT支持;任何"數據類型(帶引號!)。這似乎很好地映射到的java.lang.Object
- 在代碼生成支持不區分大小寫的架構名稱
- 在增加了一些WARN級記錄時,源代碼生成器不產生任何文物
- 新增Field.likeIgnoreCase(),以支持Postgres的ILIKE操作符
- 新增廠(數據源)和類似的構造
- 新增Factory.batchStore(集合&#X3C ;?延伸UpdatableRecord<>>)為了方便
- 新增DataType.convert(對象...)和DataType.convert(集合<>)為了方便
- 新增org.jooq.Name Factory.name(字符串)去構造一個按照逃到Settings.getRenderNameStyle() QueryParts
- 新增Factory.fetch(字符串,QueryPart ...)和Factory.execute(字符串,QueryPart ...)和類似的方法來支持任意QueryParts在普通的SQL
什麼2.3.2版本新:
- 修正:
- 與AbstractDataType.convert(對象)的性能問題。避免轉換時,他們顯然是不必要的。
- 生成一些有意義的Javadoc到生成[架構名]工廠類。
- 添加換行符生成的Javadoc酌情
- 在自定義生成戰略的printImplements()被調用模式==記錄表。
- 使用JAXB解組默認設置克隆效率低下導致不可忽略的整體開銷。使用序列代替(短有用的XJC克隆插件)。
- 在緩存中SQLDIALECT嚴重AbstractDatabase提高代碼生成性能。
- 編譯錯誤,當一個SQL Server存儲過程有一個名為參數"價值"
- 壞語法SELECT / * + *提示/ DISTINCT ...在Oracle中。
- 的大分光NOT IN條件是錯誤的。該部分應和,不使用OR進行連接。
在什麼版本2.2.0新是:
- 增加了對CUBRID數據庫支持李>
什麼是2.1.0版本,新的:
- 在提供jOOQ具有自定義類型映射的可能性。
- 有很多新的運行時配置選項來控制SQL由jOOQ呈現的SQL風格。
- NULL的處理已傾向於使用jOOQ作為一個SQL生成器庫(例如隨著春季執行)NULL不再是內聯的得到了改善,但綁定為一個變量。
- jOOQ現在支持模擬使用直觀的語法關係除法運算。
什麼版本2.0.5是新的:
- 執行監聽器和SQL跟踪支持。 jOOQ它允許你將自己的聽眾變成jOOQ的查詢執行引擎的各種事件的通知
- 在現有SchemaMapping功能。他們現在的運行時配置的一部分
- StatementType設置。指定工廠是否應該執行java.sql.PreparedStatements(使用綁定變量)或靜態java.sql.Statements與內嵌的變量。
在什麼版本2.0.0是新的:
- 在該API變得更加靜態
- 在默認情況下,jooq,代碼生成現在產生一個"動態"相對於現有的靜態一個元模型。
- 例外不再檢查。
- 在窗口的功能現在從構建其基礎聚合函數就像在SQL。
要求:
- 在的Java 1.6或更高版本
評論沒有發現