如何将在 mybatis mapper xml 中执行的 sql 查询打印到控制台
How to print the sql query executing in mybatis mapper xml to the console
假设我正在执行下面的查询,它在我的映射器中 xml:
<select id="getData" parameterType="java.util.HashMap" resultType="java.util.LinkedHashMap">
select * from emp where empId=#{empId}
</select>
在上面xml empId 是returns Mybatis 中作为参数在上面的映射器xml 中传递的HashMap 的键值的动态值。
当映射到方法 getData 的上述 select 查询为 运行.
时,是否有任何方法可以将带有传递参数的 sql 打印到控制台
例如我传递数据 empId =1
我想在控制台中:select * from emp where empId=1
在您的项目中查找 "logback.xml"...\resources\
将 mybatis 日志级别更改为 INFO
添加log4j.properties
log4j.logger.yourmapperpackage=DEBUG
并且 sql 调试是这样的:
2016-01-09 20:51:10,621 DEBUG [com.xxxMapper.insert] - <==> Preparing: INSERT INTO video_info (content, id, create_time, title, media_url, zhan_count, cover_url) VALUES (?, ?, ?, ?, ?, ?, ?) >
2016-01-09 20:51:10,627 DEBUG [com.xxxMapper.insert] - <==> Parameters: vcontent(String), 0(Long), 2016-01-09 20:51:10.616(Timestamp), vtitle(String), null, 1(Integer), null>
2016-01-09 20:51:10,628 DEBUG [com.xxxMapper.insert] - <<== Updates: 1>
假设我正在执行下面的查询,它在我的映射器中 xml:
<select id="getData" parameterType="java.util.HashMap" resultType="java.util.LinkedHashMap">
select * from emp where empId=#{empId}
</select>
在上面xml empId 是returns Mybatis 中作为参数在上面的映射器xml 中传递的HashMap 的键值的动态值。
当映射到方法 getData 的上述 select 查询为 运行.
时,是否有任何方法可以将带有传递参数的 sql 打印到控制台例如我传递数据 empId =1 我想在控制台中:select * from emp where empId=1
在您的项目中查找 "logback.xml"...\resources\
将 mybatis 日志级别更改为 INFO
添加log4j.properties
log4j.logger.yourmapperpackage=DEBUG
并且 sql 调试是这样的:
2016-01-09 20:51:10,621 DEBUG [com.xxxMapper.insert] - <==> Preparing: INSERT INTO video_info (content, id, create_time, title, media_url, zhan_count, cover_url) VALUES (?, ?, ?, ?, ?, ?, ?) >
2016-01-09 20:51:10,627 DEBUG [com.xxxMapper.insert] - <==> Parameters: vcontent(String), 0(Long), 2016-01-09 20:51:10.616(Timestamp), vtitle(String), null, 1(Integer), null>
2016-01-09 20:51:10,628 DEBUG [com.xxxMapper.insert] - <<== Updates: 1>