![](/img/trans.png)
[英]How to print the sql query executing in mybatis mapper xml to the console
[英]How to stop mybatis print SQL script in console
我正在使用mybatis-3.4.6
使用ScriptRunner
執行 sql 腳本。 它正在將整個腳本打印到控制台。 我正在使用slf4j
進行日志記錄,並且在logback.xml
包含了以下幾行。 但它仍在打印。
<logger name="org.mybatis" level="WARN" />
<logger name="java.sql" level="WARN" />
在mybatis
之前,我使用ibatis
。 它沒有像這樣打印腳本。
如何停止打印腳本?
我通過使用方法 ScriptRunner.setLogWriter(null) 解決了這個問題:
ScriptRunner sr = new ScriptRunner(connection);
Reader reader = new BufferedReader(new FileReader(scriptFile));
sr.setLogWriter(null);
sr.runScript(reader);
它對我來說似乎是一個System.out
。 所以我做了以下更改以刪除控制台日志。 我不認為這是最好的解決方案。
PrintStream tmp = new PrintStream(new OutputStream() {
@Override
public void write(int b) throws IOException {
// do nothing
}
});
PrintStream console = System.out;
System.setOut(tmp);
// ScriptRunner call
System.setOut(console);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.