gpt4 book ai didi

java - 使用 jOOq 时如何将参数值用括号括起来?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:07:10 26 4
gpt4 key购买 nike

我正在使用 jOOq 来编写查询,除了我正在使用供应商特定类型的 SQL... 以进行特定的灵活搜索。 SQL 和 flexiSearch 之间的主要区别在于参数值包含在大括号中。例如

SELECT * FROM {Product} WHERE {code} LIKE ‘%al%’

所以我要做的是让 jOOq 自动拦截查询构建过程以包含括号。

查看文档,似乎我应该实现某种执行监听器?但我不确定在那之后该怎么做。谢谢

最佳答案

您确实可以实现一个 ExecuteListener 来替换

  • 每个奇数 "{ 和每个偶数 "} 使用任何方言(注意句法歧义)
  • 每个奇数 `{ 和每个偶数 `} 使用 MySQL 方言
  • { 的每个 [} 的每个 ] 使用 SQL Server 方言

但据我所知,这不会是您要在生成的 SQL 中修补的唯一内容,因此您不妨 fork jOOQ 开源版并自己修补相关代码。

请注意,jOOQ 并不真正支持这种特定的方言。这不会是您遇到的唯一事情。例如,您可以尝试在 ExecuteListener 中对子查询进行模式匹配,并将它们包装在 {{ ... }} 中,但这也更容易实现通过直接给 jOOQ 打补丁。

关于java - 使用 jOOq 时如何将参数值用括号括起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53264890/

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