Springboot JPA日志输出时打印的SQL语句拼接上传入的参数

我们在控制台看到的sql语句一般是 没有 自动把参数拼接进去的
所以有时候语句很长 参数很多的时候 手动替换 烦的一批
那现在我就试试 自动拼接参数

首先 引入 架包Log4jdbc-log4j2
Log4jdbc-log4j2是做什么的呢 
这个是一个基于jdbc层面的监听工具,可以监听对于数据库的主要操作,从而完美的查看到其中执行的操作。



    org.bgee.log4jdbc-log4j2
    log4jdbc-log4j2-jdbc4.1
    1.16

然后新增一个Log4jdbc-log4j2的配置文件
log4jdbc.log4j2.properties
其中的内容主要是
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
下面要去改一下数据库连接设置 要用 Log4jdbc-log4j2连接数据库才能监听操作语句
datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      ##原来的 driver-class-name: com.mysql.jdbc.Driver
      driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
      ##原来的 url: jdbc:mysql://0.0.0.0/exam?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=GMT%2b8&useSSL=false
      url: jdbc:log4jdbc:mysql://0.0.0.0/exam?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=GMT%2b8&useSSL=false
      username: 用户名
      password: 密码
配置完成了 现在运行项目试试吧 
控制台已经有东西了

Springboot JPA日志输出时打印的SQL语句拼接上传入的参数_第1张图片

大概有输出的有 jdbc.sqlonly  jdbc.sqltiming  jdbc.resultset jdbc.resultsettable等
这些事什么意思呢 可以参考一下

jdbc.sqlonly		仅记录SQL。在准备好的语句中执行的SQL会自动显示出来,其绑定参数替换为该位置的绑定数据,从而大大提高了可读性。
jdbc.sqltiming		执行后记录SQL,包括有关SQL执行所需时间的计时统计信息。
jdbc.audit			记录除结果集外的所有JDBC调用。这是非常大量的输出,通常不需要,除非找到特定的JDBC问题。
jdbc.resultset		由于记录了对ResultSet对象的所有调用,因此更加庞大。
jdbc.resultsettable	将jdbc结果记录为表格。级别调试将在结果集中填充未读的值。
jdbc.connection		记录连接打开和关闭事件以及转储所有打开的连接号。这对于解决连接泄漏问题非常有用。
不需要的日志输出 是可以 通过日志配置文件 logback配置去掉的 
主要配置看到  控制台日志打印设置



    Spring Boot
    
    
    
        
        
            %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
        
    

    
    
        ${log.path}
        
            /logs/%d{yyyy-MM-dd}.log
        
        
        
        
            %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
        
    
    
	
	
    
    
    
    
    
    
    

    
        
        
    

    
    
    
    
        
        
    

好了 差不多就是这些了 自己赶紧试试去看看 最后的效果吧
如果有什么不懂 或不对的地方请提问或指出

你可能感兴趣的:(日志,log4j,数据库,java,mysql,jdbc)