首页 > 数据库 >SpringBoot 2.0.1 控制台打印SQL语句的三种方式

SpringBoot 2.0.1 控制台打印SQL语句的三种方式

时间:2022-12-02 22:02:12浏览次数:35  
标签:xml 语句 SpringBoot apache SQL mybatis org 2.0


今天在对接口的时候发现查询一直有空的字段,然后试着打印SQL语句看下,结果试了两种方式都没能正常打印出SQL语句,最后试了第三种才可以。

1. show-sql

这种方式我记得是很好用的,之前用过,这次就不好使了,不知道是不是使用的jar包的区别。

spring:
jpa:
show-sql: true

2. logging

logging:
level:
org:
hibernate:
SQL: DEBUG

这种方式试了一下仍然不好使。

3. logImpl (使用mybatis.xml配置)

发现刚好项目中还有一个xml文件,对于SpringBoot而言,xml配置使用的是少之又少了,然后试了一下果然显示SQL语句了。

如果没有mybatis.xml文件的话,直接在项目的properties文件中添加如下配置也是一样的:

mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

由于我的yml里面配置了​​mybatis.xml​​文件,所以我直接在mybatis.xml文件里面配置了

# Mybatis配置
mybatis:
mapperLocations: classpath:mapper/**/*.xml
configLocation: classpath:mybatis.xml
<?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="mapUnderscoreToCamelCase" value="true" />
<!-- 控制台打印SQL语句 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
</configuration>

效果如下:

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@607343f1] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@933141587 wrapping com.mysql.jdbc.JDBC4Connection@54604786] will not be managed by Spring
==> Preparing: select role_id from sys_user_role where user_id = ?
==> Parameters: 38(Long)
<== Columns: role_id
<== Row: 1
<== Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@607343f1]

可以看到每次创建连接和关闭连接的信息都会在控制台中显示出来。


标签:xml,语句,SpringBoot,apache,SQL,mybatis,org,2.0
From: https://blog.51cto.com/linmengmeng/5907616

相关文章

  • SQLSERVER字符串函数
    1.ASCII返回字符表达式最左端字符的ASCII代码值。语法ASCII(character_expression)参数character_expression是类型为char或varchar的表达式。返回类型int示例下例......
  • mysql高阶语句+视图
    一,高阶语句1.select:显示表格中一个或数个栏位的所有资料格式:SELECT"栏位"FROM"表名";2.where:条件查询格式:SELECT"栏位"FROM"表名"WHERE"条件";嵌套/多条件,......
  • mysql备份与恢复
    一,mysql日志1.mysql日志类型日志类型与作用:1.redo重做日志:达到事务一致性(每次重启会重做)作用:确保日志的持久性,防止在发生故障,脏页未写入磁盘。重启数据库会进行redo......
  • MYSQL主从复制与读写分离
    一,主从复制1.原理主从复制原理:首先主库发送更新事件到从库;然后从库读取更新记录,并执行更新记录;最后使得从库的内容与主库保持一致。2.复制类型基于语句的复制(STAT......
  • MySQL之高可用集群MHA及故障切换
    一,MHA1.MHA概念MHA(MasterHighAvailability)目前在MySQL高可用方面是一个相对成熟的解决方案;在MySQL故障切换的过程中,MHA能做到0~30秒之内自动完成数据库的故障切换操作......
  • Mysql 多表查询总结
    在做毕业设计时,对数据库的查询用到了多表查询,之前学的一知半解的,借着这个机会,又查了些资料,复习了一下,记录下来,以便日后用到时能快速解决问题。下面实例中用到的是MySQL:my......
  • MySQL主从复制与读写分离
    一、案例概述在实际的生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,一......
  • SpringBoot整合Mybatis
    Springboot整合mybatis在Spring+SpringMVC中整合MyBatis步骤需要在配置文件里配置多个Bean,比如MapperScannerConfigurer,SqlSessionFactoryBean等,步骤还是比较复......
  • 命令窗口下excel数据导入到Mysql 和 mysql数据导出到excel
    1.mysql导出到excel1.1.SELECT*INTOOUTFILE‘/test.xls’FROMtable1;2.excel导入到mysql:2.1.将选中的数据块儿(不包含表头)拷贝到一个TXT文本文件中,假如存到“D:\data......
  • mysql导入sql脚本时错误指令:Failed to open file
    遇到这种错误,在尝试了多种办法之后依然无果,把文件名中的中文字符删掉之后就可以了,所以可能是是由于sql脚本文件名中包含中文字符和空格将数据库表文件sql脚本导入mysql中方......