如何将在mybatis映射器xml中执行的sql查询打印到控制台

时间:2016-01-08 11:18:14

标签: java java-ee orm mybatis ibatis

假设我在mapper xml中执行下面的查询:

<select id="getData" parameterType="java.util.HashMap" resultType="java.util.LinkedHashMap">

select * from emp where empId=#{empId}          
    </select>

在上面的xml中,empId是一个动态值,它返回HashMap的键中的值,该值作为Mybatis中上面的mapper xml中的参数传递。

当运行映射到方法getData的上述选择查询时,有没有办法将带有传递的param的sql打印到控制台。

例如我传递数据empId = 1 我想在控制台中:从emp中选择*,其中empId = 1

2 个答案:

答案 0 :(得分:6)

添加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>

答案 1 :(得分:0)

寻找&#34; logback.xml&#34;在你的项目...... \ resources \

将mybatis日志级别更改为INFO