首页 > 解决方案 > 将 SQL 语句写入文件

问题描述

我使用 jOOQs UpdatableRecord 并调用updatableRecord.store()来执行插入或更新语句。

现在我想将执行的 SQL 语句保存到一个文件中,因为我还需要在另一个数据库上执行这些语句。

实现这一目标的最简单方法是什么?

标签: javajooq

解决方案


您可以实现自己的ExecuteListener或使用内置的LoggerListener(添加一些额外的日志内容),请参见此处:https ://www.jooq.org/doc/latest/manual/sql-execution/logging 。

你自己的ExecuteListener可能看起来像这样:

public class Logger extends DefaultExecuteListener {
    @Override
    public void executeStart(ExecuteContext ctx) {
        MyUtils.writeToFile(ctx.sql());
    }
}

然后将侦听器添加到您的Configuration


推荐阅读