使用JOOQ替换MySQL表中的String

时间:2017-11-22 12:13:29

标签: java mysql sql jooq

UPDATE table
SET field = REPLACE(your_field, 'original_string', 'replace_string')
WHERE your_field LIKE '%original_string%'

有没有办法用JOOQ执行上面的查询?

1 个答案:

答案 0 :(得分:3)

是的,它几乎翻译成1:1。就这样写出来:

using(configuration)
  .update(TABLE)
  .set(TABLE.FIELD, 
       replace(TABLE.YOUR_FIELD, "original_string", "replace_string"))
  .where(TABLE.YOUR_FIELD.like("%original_string%"))
  .execute();

DSL.replace() method is documented in the Javadoc

假设以下静态导入:

import static org.jooq.impl.DSL.*;
import static com.example.your.schema.Tables.*;