我想知道是否有任何库可用于将SQL查询表示为Java中的对象。
在代码中,我有很多类型为java.lang.String的静态变量,它们是手写的SQL查询。我会寻找一个具有良好 流利 API的库,该API使我可以将查询表示为对象而不是字符串。
例:
Query q = select("DATE", "QUOTE") .from("STOCKMARKET") .where(eq("CORP", "?")) .orderBy("DATE", DESC);
Jequel看起来很漂亮:http://www.jequel.de/
它使用了流畅的界面,因此很容易阅读,就像自然SQL(来自文档)一样:
SqlString sql = select(ARTICLE.OID) .from(ARTICLE, ARTICLE_COLOR) .where(ARTICLE.OID.eq(ARTICLE_COLOR.ARTICLE_OID) .and(ARTICLE.ARTICLE_NO.is_not(NULL)));
它还支持对带有参数的DataSource执行查询,因此它也处理参数化查询的创建。