<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ![](https://cdn.zimug.com/wx-zimug.png) 最近已經路由有同學們反應這個系統已經在所在單位的生產上使用了,字母哥表示很欣慰,雖然不敢說一點bug都沒有,但是我也是經過多輪測試了,期待大家如果遇到問題,能將問題反饋上來,讓這個系統越來越好用。 ## 一、關于Closing non transactional SqlSession 有的朋友在群里發了這樣一個問題 ![](https://img.kancloud.cn/1d/d3/1dd334c4b00ac5b301f1e53777f6fe01_432x212.png) 問題的日志是下面這樣的 ~~~ Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6a1e2abf] was not registered for synchronization because synchronization is not active JDBC Connection [HikariProxyConnection@881723065 wrapping com.mysql.cj.jdbc.ConnectionImpl@171f8b36] will not be managed by Spring Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6a1e2abf] ~~~ 這個問題從日志看上去還挺嚇人的(但是這是正常的,且聽下文),大家看到上面的日志可能會想到這樣幾個問題: * `Creating a new SqlSession `每次請求都創建新的數據庫連接?沒有性能問題么? * `will not be managed by Spring`數據庫連接沒有被Spring 事務管理? * `Closing non transactional SqlSession `沒有事務配置? 我給大家解釋一下,上面的日志都是正常的,下面的日志是我把日志輸出級別放寬之后的輸出,多出來幾行日志我們再看。 ~~~ Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2321e482] was not registered for synchronization because synchronization is not active 2020-10-31 06:52:29 [main] DEBUG o.s.j.d.DataSourceUtils - Fetching JDBC Connection from DataSource JDBC Connection [HikariProxyConnection@1797578199 wrapping com.mysql.cj.jdbc.ConnectionImpl@a85644c] will not be managed by Spring 2020-10-31 06:52:29 [main] DEBUG c.z.d.p.s.m.S.selectList - ==> Preparing: SELECT id,param_name,param_key,param_value,param_desc,create_time FROM sys_config 2020-10-31 06:52:29 [main] DEBUG c.z.d.p.s.m.S.selectList - ==> Parameters: 2020-10-31 06:52:29 [main] DEBUG c.z.d.p.s.m.S.selectList - <== Total: 1 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2321e482] ~~~ * 每次請求都創建新的數據庫鏈接么? 當然不是,項目使用的是[Hikari連接池,看清楚日志create a new SqlSession,不是Connection。而且日志級別放寬后,明確的輸出:Fetching JDBC Connection from DataSource 所以JDBC 連接是從數據庫連接池數據源里面獲取的,不是每次都創建。 * 沒有進行Spring 的事務管理?的確是在這次查詢的時候沒有進行Spring 事務管理,因為沒有必要啊。看上面的日志我們只是去數據庫里面進行一次select操作,我們要Spring 事務做什么?當然沒有對這個查詢SQL開啟事務的必要。 * 事務怎么開啟?使用`@Transactional`,哪里需要加哪里。不需要事務的地方不用加,查詢SQL需要加事務么?當然不需要,這不是問題。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看