cari

Rumah  >  Soal Jawab  >  teks badan

java - 关闭数据库连接之前为什么要先设置自动提交为true?

伊谢尔伦伊谢尔伦2807 hari yang lalu835

membalas semua(1)saya akan balas

  • ringa_lee

    ringa_lee2017-04-18 10:08:03

    
        protected void resetAutoCommit() {
            try {
              if (!connection.getAutoCommit()) {
                // MyBatis does not call commit/rollback on a connection if just selects were performed.
                // Some databases start transactions with select statements
                // and they mandate a commit/rollback before closing the connection.
                // A workaround is setting the autocommit to true before closing the connection.
                // Sybase throws an exception here.
                if (log.isDebugEnabled()) {
                  log.debug("Resetting autocommit to true on JDBC Connection [" + connection + "]");
                }
                connection.setAutoCommit(true);
              }
            } catch (SQLException e) {
              log.debug("Error resetting autocommit to true "
                  + "before closing the connection.  Cause: " + e);
            }
          }
    

    Ia dinyatakan dengan jelas dalam kod. nota itu.

    balas
    0
  • Batalbalas