ibatis后台通过SqlMapClient获取sql语句,ibatis打印sql语句

1、过SqlMapClient获取sql语句
String sql = "";
SqlMapClientImpl sqlmap = (SqlMapClientImpl)getSqlMapClient();
MappedStatement stmt = sqlmap.getMappedStatement("UupmUser.selectUsersPgnCountByCause");
Sql stmtSql = stmt.getSql();
RequestScope statementScope = new RequestScope();
statementScope.setStatement(stmt);
sql = stmtSql.getSql(statementScope, cause);
System.out.println("参数role_id:"+cause.getRole_id());
System.out.println("sql语句是:"+sql);

注意:该dao 需要extends SqlMapClientDaoSupport

2、log4j.properties配置文件配置
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=error
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=error
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=error
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=error
log4j.logger.java.sql.Connection=debug
posted @ 2022-12-21 15:24  教练我想打篮球  阅读(329)  评论(0编辑  收藏  举报