獲取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