简体   繁体   English

如何使用JOOQ从模板和参数占位符生成sql?

[英]How to generate sql from template and param placeholder with JOOQ?

I get the sql template like this with jOOQ 3.11.11. 我通过jOOQ 3.11.11获得了这样的sql模板。

DSLContext context = new DefaultDSLContext(conf);
Query query = context.select().from("table1").where(DSL.field("report_date").eq(DSL.param("bizdate")));
String sqlTemp = context.renderNamedParams(query);

I store the plain sql template. 我存储纯SQL模板。

select * from table1 where report_date = :bizdate

The param 'bizdate' is decided by realtime query. 参数“ bizdate”由实时查询决定。
So. 所以。 How to generate the real sql 如何生成真实的SQL

select * from table1 where report_date = '20190801'

with the stored sql template string and the realtime input date '20190801'. 带有存储的sql模板字符串和实时输入日期'20190801'。

You can use this: 您可以使用此:

context.resultQuery(sqlTemp, DSL.param("bizdate", "20190801")).fetch();

See DSLContext.resultQuery(String, QueryPart...) 请参阅DSLContext.resultQuery(String, QueryPart...)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM