我有一個用例,在需要從文件中讀取行時,使用引擎轉換它們,然後將輸出寫入數據庫(可以配置)。 雖然我可以編寫我自己的查詢生成器,但我很想知道是否已經有可用的解決方案(庫)。插入查詢生成器爲java
我在網上搜索,可以找到jOOQ庫,但它看起來像是類型安全的,並有一個代碼生成工具,因此可能適合靜態數據庫模式。在我有db的用例可以動態配置並且元數據被編程讀取並且可用於寫入目的(所以可以使用表的列表,用戶可以選擇要寫入的列和插入腳本這些列需要動態創建)。
是否有任何庫可以幫助我的用例?
我有一個用例,在需要從文件中讀取行時,使用引擎轉換它們,然後將輸出寫入數據庫(可以配置)。 雖然我可以編寫我自己的查詢生成器,但我很想知道是否已經有可用的解決方案(庫)。插入查詢生成器爲java
我在網上搜索,可以找到jOOQ庫,但它看起來像是類型安全的,並有一個代碼生成工具,因此可能適合靜態數據庫模式。在我有db的用例可以動態配置並且元數據被編程讀取並且可用於寫入目的(所以可以使用表的列表,用戶可以選擇要寫入的列和插入腳本這些列需要動態創建)。
是否有任何庫可以幫助我的用例?
你需要做的setps是:
讀取行
構建每一行成一個對象
變換上述目的,以目標對象
將目標對象插入分區中
在上述4個步驟,你需要做的唯一事情是第3步
併爲上述目的,你可以使用Transmorph,EZMorph,Commons-BeanUtils,Dozer等
如果我正確理解您需要查詢數據庫結構,通過GUI顯示結果並讓用戶將數據從文件映射到該結構?
假設是這種情況,您並不是在尋找一個「庫」,而是在尋找一個ETL工具。
或者,如果你對自己寫的東西設置,要做到這一點(非常)基本方法是:
Connection.getMetaData()
。確切的用法可能因驅動程序而異,所以您需要創建一個滿足您需求的抽象層 - 我假設您只是對這裏的表結構感興趣。我的建議,得到了ETL工具,這聽起來像一個簡單的問題,但它充滿特質的 - 讓即使是80%的解決方案將是艱難和費時。
jOOQ(你在你的問題中引用的庫)可以在不生成代碼被用作jOOQ手冊中註明:
當通過user group搜索,你會發現其他用戶以你打算的方式利用jOOQ
+ 1,我會看看鏈接,我看不到一個插入的工作示例,並認爲它可能已被省略 - 看起來像我需要探索(我希望比寫我自己的東西花費的時間更少;-)) – Scorpion 2013-05-08 12:24:40
@Scorpion:好點。我將很快在手冊中添加更多「純SQL」示例:[#2444](https://github.com/jOOQ/jOOQ/issues/2444) – 2013-05-08 17:21:14
我只想知道是否有一個容易可用庫來「創建一個參數化插入語句」,以便我不寫入無聊字符串連接位;順便說一句,你是對的這是一種ETL工具 – Scorpion 2013-05-08 08:51:43