• JPA打印sql以及参数设置


    一. jpa怎么打印sql语句?

    现在网上的办法大多是:在properties文件中添加: spring.jpa.show-sql=true.

    这样可以吗?可以.但是系统是用System.out.println方法打印的,不好管理.

    我想使用图片中1的log打印怎么设置呢?

    在logback.xml中加入<logger name="org.hibernate.SQL" level="DEBUG"/>就可以了.

    二.jpa怎么打印参数?

    上面的配置,只能打印sql语句,sql中需要的参数没有输出出来.

    <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="trace" />

    加入上面的logger配置,就可以打印sql参数了.

    三.jpa打印的select语句超级多,我不想看到select sql语句怎么办?

    给appender输出添加过滤器就行了.

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
    <evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
    <expression>return message.contains("select");</expression>
    </evaluator>
    <OnMismatch>NEUTRAL</OnMismatch>
    <OnMatch>DENY</OnMatch>
    </filter>
    <encoder>
    <pattern>${CONSOLE_LOG_PATTERN}</pattern>
    <charset>utf8</charset>
    </encoder>
    </appender>

    添加这个filter应该还需要引入一个jar,否则启动报错.

    <dependency>
        <groupId>org.codehaus.janino</groupId>
        <artifactId>janino</artifactId>
        <version>3.0.7</version>
    </dependency>

    方式 一:

    ########################################################
    ###配置打印sql
    ########################################################
    logging:
    level:
    com.threefivework.mymall.dao.mapper: DEBUG //包路径为mapper文件包路径

    方式二:

    在application.yml(.properties)中增加配置,在控制台打印sql:

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

    参考类:org.apache.ibatis.session.Configuration
    log-impl指定的值为org.apache.ibatis.logging.Log接口的某个实现类


     

    心稳了,手也就稳了。
  • 相关阅读:
    EF 错误解决
    TortoiseHg 学习笔记 (转)
    Mysql 命令行 使用 (转)
    2017-9-3 时间字符串格式化(转)
    2017-8-25 c# 获取url参数的五种方法(转)
    alert 的使用方法
    表单关键字查询写法
    Mysql和Mysqli的区别
    php MySQL中 增、删、改、查的写法格式
    一维、二维数组 与 常用的返回数组 以及 fetch_all与fetch_row的区别
  • 原文地址:https://www.cnblogs.com/wangxiaofengde/p/11412329.html
Copyright © 2020-2023  润新知