MyBatis笔记之配置输出日志并打印输出SQL语句

1. 引入Log4J的Maven依赖:

<dependency>
	<groupId>log4j</groupId>
	<artifactId>log4j</artifactId>
	<version>1.2.17</version>
</dependency>

2. 修改MyBatis的配置文件,设置使用Log4J日志输出方式:

<setting name="logImpl" value="STDOUT_LOGGING" />

如果是Spring Boot项目,则指定:

3. 在资源路径下新建log4j.properties:

log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG   

.

时间: 2024-11-04 14:23:44

MyBatis笔记之配置输出日志并打印输出SQL语句的相关文章

ssm整合后打印日志查看执行sql语句

mybatis.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings&g

maven项目整合SSM配置log4j, 实现控制台打印SQL语句

在原有项目正常启动的情况下, 实现在控制台打印mapper包下SQL语句. 1.在pom.xml配置文件中添加两个依赖(缺一不可) 1 <!--日志包--> 2 <dependency> 3 <groupId>log4j</groupId> 4 <artifactId>log4j</artifactId> 5 <version>${log4j-version}</version> 6 </dependen

TP打印输出SQL语句

模型 -> getLastSql(); //TP打印SQL语句 $data = $this->field($field)->where($condition)->select(); echo $this->getLastSql();//输出 SELECT `id`,`title`,materialUrl as outerUrl,image as img,`type`,`sort`,`status`,`source` FROM `ims_push` WHERE `type` =

mybatis - 基于拦截器修改执行中的SQL语句

拦截器介绍 mybatis提供了@Intercepts注解允许开发者对mybatis的执行器Executor进行拦截. Executor接口方法主要有update.query.commit.rollback等等. 主要思路为: 进入拦截器方法中 获取拦截器方法参数 获取解析参数及SQL 自定义生成自己的SQL语句 将自定义SQL设置进参数中 由mybatis处理后续问题 拦截器代码 import org.apache.ibatis.cache.CacheKey; import org.apach

log4jdbc日志框架-显示sql语句

现大家使用的ibatis,hibernate,spring jdbc的sql日志信息,有一点个缺点是占位符与参数是分开打印的,如果想要拷贝sql至PLSQL Developer客户端直接执行,需要自己拼凑sql.而log4jdbc是在jdbc层的一个日志框架,可以将占位符与参数全部合并在一起显示,方便直接拷贝sql在PLSQL Developer等客户端直接执行,加快调试速度. 一.简单介绍: 1.没有使用log4jdbc前sql显示: select username,password from

Mybatis:在sqlBuilder中动态的生成sql语句

最近项目当中使用到MyBatis 动态语句生成的功能,我使用的是sqlBuilder,话不多说,直接上代码,StockMarketProvider.java: public String selectByStockIdSql(){ BEGIN(); SELECT("*"); FROM(TABLE_NAME); WHERE("stock_id = #{0}"); return SQL(); } public String updateByStockIdSql(){ B

Mybatis+MySql 一个标签中执行多条sql语句 这个坑 ,我心中有一句MMP

解决办法 转自网友: 亲测 解决了问题@ MySql默认是不支持这种骚操作的,但是并不代表不能实现,只需要在jdbc的配置文件中稍做配置: driver=com.mysql.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/airipo?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=trueusername=

mybatis之xml中日期时间段查询的sql语句

<if test="startDate!=null and startDate!=''"> and CREATEDATE >=#{startDate}</if> <if test="endDate!=null and endDate!=''"> and CREATEDATE <=#{endDate}</if> 三个日期字段存入数据库都是字符串,不是date型,xml中>,<不能被正确解析,需要X

ibatis日志中打印SQl语句

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=INFO log4j.logger.com.ibatis.common.jdbc.Simpl