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

来源:互联网 发布:韦雪不做淘宝了 编辑:程序博客网 时间:2024/06/05 03:16

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语句。

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


0 0
原创粉丝点击