問題 - 如何基於在Java中生成的查詢創建表並插入數據?如何在Java中將查詢構建到查詢中
背景 - 有一系列查詢基於(20左右)的表,但有一些常見的操作,例如左側加入FK到同一個表和where子句是相同的。我正在尋找一種乾淨的方式來創建20個查詢,而無需重寫相同的連接20次。
什麼,我這樣做的遠 -
我已經建立了一個小的應用程序,其執行適度複雜的查詢(查詢子,工會,左連接),並使用查詢結果插入到一個新表;
Select col1 as new_col1, col2 as newcol_2
into new_table
from (....)
我寫它包含佔位列名的基礎SQL文件和NEW_TABLE我則更換使用一個簡單的字符串在我的Java代碼替換做到了這一點。我創建了大約20個不同的基本SQL文件,因爲from(....)部分引用了不同的表格,而且如果沒有一些庫,構建查詢的這一部分太複雜了。
這裏沒有單一的正確答案。除了ORM庫之外,還可以考慮使用模板語言,如velocity或freemarker來合併查詢和數據, – javamonkey79
[QueryDSL](http://www.querydsl.com/)提供了與jOOQ基本相同的功能,並且非常免費 –
@a_horse_with_no_name:這是項非常廣泛的解釋*基本*和/或*相同的功能*,例如在這個特殊的功能,它肯定QueryDSL不支持(以及其他許多)的範圍內;) –