因为mybatis查找对于日志级别是通过mappedStatement.id(也就是mapper.xml的NameSpace.sqlId)来查找的,而通过SqlSessionDaoSupport来实现数据库操作的方式,namespace是不带目录名的,所以普通的方式并不能奏效,使用以下解决方案可以解决问题:
1、首先在mybatis的setting文件里面添加<setting name="logPrefix" value="logPrefix."/>。
然后在log4j.properties里面添加log4j.logger.logPrefix=DEBUG(简单,但是不能控制那些目录的sql不打印)。
2、在给每个使用
SqlSessionDaoSupport实现的对应mapper.xml文件的namespace添加前缀(太繁琐,不过可以限制那些需要打印sql那些不需要)。