【发布时间】:2016-06-08 09:10:51
【问题描述】:
有没有办法使用 jOOQ 分阶段/阶段构建 SQL?比如:
DSLContext create = DSL.using(conn, SQLDialect.MYSQL);
DSL dsl = create.from(table("links"));
if( !StringUtils.isEmpty(place) ) { // place is specified, change the query
long placeId = getPlaceId();
if (placeId > 0) {
dsl = create.from(table("place_links"))
.join(table("links"))
.on(field("links.id").equal(field("place_links.link_id")))
.where(field("place_links.place_id").equal(placeId));
}
}
String sql = dsl.select(field("*"))
.orderBy("links.score")
.limit(1)
.getSQL();
以上内容无法编译,但我正在寻找类似原则的东西。我需要从from 开始,因为目标表在运行时会发生变化。
要求是最终查询在运行时根据输入的值发生变化。
【问题讨论】: