MyBatis通过自行配置的方式输出日志

Hibernate的配置中有show_sql这种参数来控制打印出sql语句,MyBatis中其实也有类似的参数,在MyBatis自己的配置文件中就有,但这种方式必须单独设置MyBatis配置文件,如果MyBatis和Spring集成后,单独的配置文件就没有任何必要存在了。

当然还可以配置Log4j的配置文件打印参数,这种方式最为常用。我今天只是探讨一下不用单独配置文件,不用Log4j的方式进行sql输出。

首先看Spring的配置文件,里面肯定会配置SqlSessionFactoryBean,那么就打开这个类,看到有个Configuration类的成员变量,这个类就是MyBatis单独配置文件的封装类,打开这个类,看到logImpl这个属性,熟悉吧?这个就是MyBatis控制日志输出的属性。

于是我就在Spring配置文件里配了个Configuration类的bean:

    <bean id="mybatisConfiguration" class="org.apache.ibatis.session.Configuration">
      <property name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"/>
    </bean>

其中logImpl的属性就是标准控制台输出类,怎么找到这个标准控制台输出类呢?其实很简单,logImpl是Class类型,泛型为? extends Log,也就是接收一个Log实现类,然后寻找Log实现类即可,其中StdOutImpl就是Log实现类,表示在控制台输出日志的。

然后将configuration属性引用上面那个mybatisConfiguration即可,这样就减少了配置文件的数目。

经过本人单元测试,可以输出sql语句。

当然这种方法并没有很强的现实意义,就是看着玩玩而已。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值