Mybatis 利用log4j打印输出log,方便排查sql问题
来源:互联网 发布:男生挂件知乎 编辑:程序博客网 时间:2024/05/21 01:27
默认的使用mybaties是不打印mybaties相关的log的,因为内部的sql执行都是内部调用,在server的控制台是不 会 打印log的。
在log4j的配置文件log4j.properties里加上以下几句话就可以了:
log4j.rootLogger=info, ServerDailyRollingFile, stdout
log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd
log4j.appender.ServerDailyRollingFile.File=C://logs/notify-subscription.log
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
log4j.appender.ServerDailyRollingFile.Append=true
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %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,stdout
另外关于 ,mybaties参数定义和声明的问题,总结了以下几点:
1.findProvinceByName方法名 需要和java interface文件定义的完全一样,这样映射时才能找到方法。
2.parameterType 建议就使用HashMap类型,即使只有一个形参,比如一个string参数,也建议用hashmap,然后直接用#{你在interface中定义的变量名就行}
3.多看控制台 输出,log可能类似这样的:
SchoolBean=id= 1 name=北京 pid=null
2014-10-25 20:00:35,325 DEBUG [java.sql.Connection] - ooo Using Connection [com.mysql.jdbc.JDBC4Connection@7b34c5ff]
2014-10-25 20:00:35,325 DEBUG [java.sql.Connection] - ==> Preparing: select * from graduatedb.provinces where name=?
2014-10-25 20:00:35,326 DEBUG [java.sql.PreparedStatement] - ==> Parameters: 北京(String)
2014-10-25 20:00:35,326 DEBUG [java.sql.PreparedStatement] - ==> Parameters: 北京(String)
2014-10-25 20:00:35,328 WARN [root] - login servlet failed
login servlet failed
看到那个?并不用着急,那个问号对应的参数的value值会在下面那个Parameters后面打印出来。
4.resultType 就写你那个封装的javaBean就行,如果可能返回多个,resultType还是写这个,然后在interface文件里把返回值定义成List
0 0
- Mybatis 利用log4j打印输出log,方便排查sql问题
- Mybatis 利用log4j打印输出log
- Mybatis 利用log4j打印输出log
- mybatis 利用log4j 打印sql
- Mybatis利用log4j输出sql
- 利用log4j打印sql的log日志
- mybatis+log4j 打印sql
- mybatis log4j打印sql
- mybatis输出sql log
- LOG4J打印mybatis问题
- Ibatis,Mybatis利用log4j将SQL语句打印在控制台
- Ibatis,Mybatis利用log4j将SQL语句打印在控制台
- Ibatis,Mybatis利用log4j将SQL语句打印在控制台
- mybatis 打印sql log配置
- mybatis 打印sql log配置
- log4j打印mybatis完整sql
- mybatis使用log4j打印sql
- mybatis 使用log4j打印sql
- spring源码-下载
- Android Studio关于SVN的相关配置简介
- Eclipse中设置自动生成注释(类和方法上)
- mysql 字段后面添加字符串
- 日报2015/10/15(极客学院安卓视频学习)
- Mybatis 利用log4j打印输出log,方便排查sql问题
- Mac OS X 跟新到10.11后cocoapods安装出现的问题(- bad response Not Found 404 (http://ruby.taobao.org/latest_spe)
- JBOSS+JPA的增删改查操作
- iOS exit函数深入浅出
- failed: Error during WebSocket handshake: Unexpected response code: 200
- Jinja2 example for generating a local file using a template
- 欢迎使用CSDN-markdown编辑器
- letter-combinations-of-a-phone-number
- Fedoa22 解决oracle 12c Could not initialize class sun.awt.X11.XToolkit