// Fetch a SQL string from a jOOQ Query in order to manually execute it with another tool.
String sql = create.select(field("BOOK.TITLE"), field("AUTHOR.FIRST_NAME"), field("AUTHOR.LAST_NAME"))
.from(table("BOOK"))
.join(table("AUTHOR"))
.on(field("BOOK.AUTHOR_ID").equal(field("AUTHOR.ID")))
.where(field("BOOK.PUBLISHED_IN").equal(1948))
.getSQL();
雷雷
可以使用jOOQ,一個輕量級orm框架
根據需求,你可以只用其中的sql builder(doc)
這種使用者/介面驅動的組合查詢,我之前一個專案中處理過,採用Hibernate的Criteria Query實現的。
程式處理其實是比較簡單的,重點在於這類真正的自訂組合查詢的效能最佳化,這個才是關鍵。
希望對你有點幫助。
P.S. 在任何情況下,請不要直接拼裝SQL,很可能不小心引入一個SQL注入點,犯下不可挽回的錯誤。
採用builder模式
怎麼程式碼寫得跟我一樣爛?
拼複雜的sql建議用模板引擎來做,請看我的文章:http://blog.csdn.net/rocks_le...