gpt4 book ai didi

java - 扩展jooq的行值查询

转载 作者:行者123 更新时间:2023-11-30 06:43:46 27 4
gpt4 key购买 nike

使用jooq为MySQL生成查询,并检查其生成的行值子句是否可以扩展,因为mysql无法在行值查询中正确使用索引

例如

DSLContext context = new DefaultDSLContext(SQLDialect.MYSQL);
SelectQuery<Record> select = context.selectQuery();
select.addSelect(field("Col1"));
select.addFrom(table("Table1").as("T1"));
select.addOrderBy(field("Name"), field("Sid"));
select.addSeekAfter(param("p2", "John"), param("p3","123"));
String generated = select.getSQL(ParamType.NAMED);

生成以下查询

where (1 = 1 and (Name, Id) > (:p2, :p3)) order by Name asc, Id asc

但愿意成为

where Name > :p2 or (Name = :p2 and Id > :p3) order by Name asc, Id asc

最佳答案

目前(jOOQ 3.9,请参阅 #6230)无法覆盖此行为。您必须添加您希望的形式的显式谓词。

关于java - 扩展jooq的行值查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43986902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com