将Hibernate SQL显示到控制台– show_sql,format_sql和use_sql_comments

Hibernate具有内置功能,可将所有生成的SQL语句记录到控制台。 您可以通过在Hibernate配置文件“ hibernate.cfg.xml ”中添加“ show_sql ”属性来启用它。 该功能对于基本的故障排除很有用,并可以了解Hibernate在做什么。

1. show_sql

启用将所有生成的SQL语句记录到控制台

<!--hibernate.cfg.xml -->
<property name="show_sql">true</property>

输出量

Hibernate: insert into mkyong.stock_transaction 
(CHANGE, CLOSE, DATE, OPEN, STOCK_ID, VOLUME) 
values (?, ?, ?, ?, ?, ?)

2. format_sql

格式化生成的SQL语句,使其更具可读性,但会占用更多屏幕空间。 🙂

<!--hibernate.cfg.xml -->
<property name="format_sql">true</property>

输出量

Hibernate: 
    insert 
    into
        mkyong.stock_transaction
        (CHANGE, CLOSE, DATE, OPEN, STOCK_ID, VOLUME) 
    values
        (?, ?, ?, ?, ?, ?)

3. use_sql_comments

Hibernate会将注释放入所有生成的SQL语句中,以提示生成的SQL试图做什么

<!--hibernate.cfg.xml -->
<property name="use_sql_comments">true</property>

输出量

Hibernate: 
    /* insert com.mkyong.common.StockTransaction
        */ insert 
        into
            mkyong.stock_transaction
            (CHANGE, CLOSE, DATE, OPEN, STOCK_ID, VOLUME) 
        values
            (?, ?, ?, ?, ?, ?)

休眠配置文件

hibernate.cfg.xml ”的完整示例。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.password">password</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mkyong</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <property name="use_sql_comments">true</property>
    </session-factory>
</hibernate-configuration>

Hibernate SQL参数值如何?

基本的SQL日志记录足以进行常规调试,但是无法显示Hibernate SQL参数值。 需要一些第三方库集成才能将Hibernate SQL参数值显示到控制台或文件中。 检查以下两篇文章:

  1. 如何显示休眠SQL参数值– P6Spy
  2. 如何显示休眠SQL参数值– Log4J

翻译自: https://mkyong.com/hibernate/hibernate-display-generated-sql-to-console-show_sql-format_sql-and-use_sql_comments/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值