获取mybatis的sql语句
‘壹’ 如何在mybatis中调试查看生成的sql语句
mybatis的源码中查看生成的sql语句,参考执行以下代码即可。具体代码如下:
把里面PooledDataSource类的log输出部分,换成log.warn之后,重新打jar包,放到项目中,日志级别改为info,如:
java">log4j.rootLogger=info,stdout,R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[service]%d-%c-%-4r[%t]%-5p%c%x-%m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=../logs/service.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[service]%d-%c-%-4r[%t]%-5p%c%x-%m%n
log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug
log4j.logger.java.sql.ResultSet=debug
‘贰’ 璇锋暀Mybatis涓濡备綍鍦ㄧ▼搴忎腑銮峰彇Mapper涓瀹氢箟镄凷QL璇鍙
鍙浠ョ敤瀵瑰簲Mapper绫伙纴閲岄溃镄勬柟娉曞悕鏄瀵瑰簲镄剆ql璇鍙ョ殑ID钖嶏纴杩欎釜鍙浠ュ幓璋幂敤锛涜缮链変竴绉嶏纴灏辨槸涓岖敤Mapper绫伙纴鍙浠ョ洿鎺ョ敤xml镄勬枃浠跺悕.id钖嶈幏鍙栫殑鏂瑰纺锛岃繖涓鏂瑰纺瑕佹湁镀厂qlSessionTemplate杩欐牱镄勭被锛屾彁鍓嶅畾涔夊ソ鏂规硶銮峰彇鏂瑰纺锛岀劧钖庤皟鐢ㄥ氨鍙浠ヤ简
‘叁’ mybatis怎么输出sql语句
#将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句
log4j.rootLogger=debug,stdout,logfile
### 把日志信息输出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
### 把日志信息输出到文件:jbit.log ###
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=D:/test.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
###显示SQL语句部分
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG