springboot整合mybatis将sql打印到日志的实例详解

 更新时间:2017年12月16日 15:19:49   投稿:mrr  
这篇文章主要介绍了springboot整合mybatis将sql打印到日志的实例详解,需要的朋友可以参考下

在前台请求数据的时候,sql语句一直都是打印到控制台的,有一个想法就是想让它打印到日志里,该如何做呢?

见下面的mybatis配置文件:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> 
<configuration> 
  <!-- 设置运行参数 --> 
  <settings> 
    <!-- 全局映射器启用缓存 --> 
    <setting name="cacheEnabled" value="true" /> 
    <!-- 查询时,关闭关联对象及时加载以提高性能 --> 
    <setting name="lazyLoadingEnabled" value="false" /> 
    <!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指定),不会加载关联表的所有字段,以提高性能 --> 
    <setting name="aggressiveLazyLoading" value="false" /> 
    <!-- 对于位置的SQL查询,允许返回不同的结果集以达到通用的效果 --> 
    <setting name="multipleResultSetsEnabled" value="true" /> 
    <!-- 允许使用列标签代替列明 --> 
    <setting name="useColumnLabel" value="true" /> 
    <!-- 允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值), 数据表的pk生成策略将被覆盖 --> 
    <setting name="useGeneratedKeys" value="true" /> 
    <!-- 给予被嵌套的resultMap以字段-属性的映射支持 --> 
    <setting name="autoMappingBehavior" value="PARTIAL" /> 
    <!-- 对于批量更新操作缓存SQL以提高性能 --> 
    <setting name="defaultExecutorType" value="REUSE" /> 
    <!-- 数据库超过25000秒仍未响应则超时 --> 
    <setting name="defaultStatementTimeout" value="25000" /> 
    <!-- 打印查询语句 --> 
    <!-- <setting name="logImpl" value="STDOUT_LOGGING" /> --> 
  </settings> 
</configuration> 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
 <!-- 设置运行参数 -->
 <settings>
 <!-- 全局映射器启用缓存 -->
 <setting name="cacheEnabled" value="true" />
 <!-- 查询时,关闭关联对象及时加载以提高性能 -->
 <setting name="lazyLoadingEnabled" value="false" />
 <!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指定),不会加载关联表的所有字段,以提高性能 -->
 <setting name="aggressiveLazyLoading" value="false" />
 <!-- 对于位置的SQL查询,允许返回不同的结果集以达到通用的效果 -->
 <setting name="multipleResultSetsEnabled" value="true" />
 <!-- 允许使用列标签代替列明 -->
 <setting name="useColumnLabel" value="true" />
 <!-- 允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值), 数据表的pk生成策略将被覆盖 -->
 <setting name="useGeneratedKeys" value="true" />
 <!-- 给予被嵌套的resultMap以字段-属性的映射支持 -->
 <setting name="autoMappingBehavior" value="PARTIAL" />
 <!-- 对于批量更新操作缓存SQL以提高性能 -->
 <setting name="defaultExecutorType" value="REUSE" />
 <!-- 数据库超过25000秒仍未响应则超时 -->
 <setting name="defaultStatementTimeout" value="25000" />
 <!-- 打印查询语句 -->
 <!-- <setting name="logImpl" value="STDOUT_LOGGING" /> -->
 </settings>
</configuration>
<setting name="logImpl" value="STDOUT_LOGGING" /> 

总结

以上所述是小编给大家介绍的spingboot整合mybatis将sql打印到日志的实例详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

  • Netty解决 TCP 粘包拆包的方法

    Netty解决 TCP 粘包拆包的方法

    处理粘包的唯一方法就是制定应用层的数据通讯协议,通过协议来规范现有接收的数据是否满足消息数据的需要,本文给大家介绍Netty解决 TCP 粘包拆包的方法,需要的朋友一起看看吧
    2021-07-07
  • Spring的FactoryBean<Object>接口示例代码

    Spring的FactoryBean<Object>接口示例代码

    FactoryBean是Spring框架中的一个接口,用于创建和管理Bean对象,它的作用是将Bean的创建过程交给FactoryBean实现类来完成,而不是直接由Spring容器来创建,本文给大家介绍Spring的FactoryBean<Object>接口,感兴趣的朋友一起看看吧
    2023-11-11
  • Java编程调用微信接口实现图文信息推送功能

    Java编程调用微信接口实现图文信息推送功能

    这篇文章主要介绍了Java编程调用微信接口实现图文信息等推送功能,涉及java微信图文信息推送接口调用及相关文件、字符串编码转换相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • JAVA如何把数据库的数据处理成树形结构

    JAVA如何把数据库的数据处理成树形结构

    本文介绍了JAVA如何把数据库的数据处理成树形结构,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • maven安装jar包到本地的操作方法

    maven安装jar包到本地的操作方法

    这篇文章主要介绍了maven安装jar包到本地,执行该命令后,Maven 会将该 JAR 文件安装到你本地 Maven 仓库中,需要的朋友可以参考下
    2007-01-01
  • Java 服务端消息推送的实现小结

    Java 服务端消息推送的实现小结

    本文主要介绍了Java 服务端消息推送的实现小结,主要包括四种常见的消息实时推送方案:短轮询、长轮询、SSE 和 WebSocket,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • Spring Boot应用的极速部署脚本示例代码

    Spring Boot应用的极速部署脚本示例代码

    最近在工作中遇到了一个问题,需要极速的部署Spring Boot应用,发现网上这方面的资料较少,所以自己来总结下,这篇文章主要给大家介绍了关于Spring Boot应用的极速部署脚本的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 详解SpringBoot如何开启异步编程

    详解SpringBoot如何开启异步编程

    本文主要介绍了详解SpringBoot如何开启异步编程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Java多线程编程之ThreadLocal线程范围内的共享变量

    Java多线程编程之ThreadLocal线程范围内的共享变量

    这篇文章主要介绍了Java多线程编程之ThreadLocal线程范围内的共享变量,本文讲解了ThreadLocal的作用和目的、ThreadLocal的应用场景、ThreadLocal的使用实例等,需要的朋友可以参考下
    2015-05-05
  • Java基础MAC系统下IDEA连接MYSQL数据库JDBC过程

    Java基础MAC系统下IDEA连接MYSQL数据库JDBC过程

    最近一直在学习web项目,当然也会涉及与数据库的连接这块,这里就总结一下在IDEA中如何进行MySQL数据库的连接,这里提一下我的电脑是MAC系统,使用的编码软件是IDEA,数据库是MySQL
    2021-09-09

最新评论