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

Sid*_*ddP 3 java orm ibatis java-ee mybatis

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

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

select * from emp where empId=#{empId}          
    </select>
Run Code Online (Sandbox Code Playgroud)

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

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

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

Per*_*sia 6

添加log4j.properties

log4j.logger.yourmapperpackage=DEBUG
Run Code Online (Sandbox Code Playgroud)

和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>
Run Code Online (Sandbox Code Playgroud)