怎么获取执行过的所有sql语句
我有一个java程序,我想获取 我登录网站执行过的所有sql语句,我的配置ibaties 有什么方法,最好有例子。
怎么获取执行过的所有sql语句 SQL Java
[解决办法]
log4j里打开ibatis.sql日志
[解决办法]
自己记录日志
[解决办法]
方法有三:
1、p6spy + sqlprofiler,只能看,如项目中应用需二次开发
2、logback 配置ibatis 执行日志级别,同时logback.xml定义支持数据库记录方式
<appender name="db" class="ch.qos.logback.classic.db.DBAppender">,api帮助上有表结构说明
3、修改ibatis的源码,把sql写入自定义数据库表。可看我博客
[解决办法]
在classes下新建log4j.xml,内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Console output -->
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss} %m (%F:%L) \n" />
</layout>
</appender>
<category name="java.sql">
<priority value="debug" />
</category>
<category name="com.ibatis">
<priority value="debug" />
</category>
<root>
<priority value="error" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>