Mybatis執行Update返回行數為負數

2021-07-26 09:16:40 字數 1081 閱讀 8103

獲取mybatis的update行數,總是返回負數。後來在官網上找到原因,是由於defaultexecutortype的引起的,defaultexecutortype有三個執行器******、reuse和batch。其中batch可以批量更新操作快取sql以提高效能,但是有個缺陷就是無法獲取update、delete返回的行數。defaultexecutortype的預設執行器是******。

名稱描述

******

執行器執行其它語句

reuse

可能重複使用prepared statements 語句

batch

可以重複執行語句和批量更新

由於專案配置中啟用了batch執行器,update和delete返回的行數就丟失了,把執行器改為******即可。

<?xml version="1.0" encoding="utf-8" ?>

name="cacheenabled"

value="true" />

name="lazyloadingenabled"

value="true" />

name="aggressivelazyloading"

value="false" />

name="multipleresultsetsenabled"

value="true" />

name="usecolumnlabel"

value="true" />

name="usegeneratedkeys"

value="true" />

value="full" />

name="defaultstatementtimeout"

value="25000" />

settings>

interceptor="com.rvho.mybatis.interceptor.mybatispageinterceptor">

name="databasetype"

value="mysql"/>

plugin>

plugins>

configuration>

mybatis批量update實現及出現的問題

本地mysql版本 5.7.26 1 首先在連線資料庫的時候需要新增引數 allowmultiqueries true因為預設是只允許批量修改一條的,需要改為true int updatebatch listmypojolist 3 配置檔案xml中 update my table setname ...

mybatis執行原理

1 獲取sqlsessionfactory物件 解析檔案的每乙個資訊儲存在configuration中,返回包含configuration的defaultsqlsessionfactory 2 獲取sqlsession物件 返回乙個defaultsqlsession物件,包含executor和con...

mybatis執行流程

記錄一下自己對mybatis的理解和心得.是自己手寫的乙個mybatisdemo,比較簡陋,只有乙個簡單的查詢語句,但是麻雀雖小五臟俱全,可以理解整個mybatis的執行流程.載入全域性配置檔案 將配置檔案載入到inputstream中,dcoumentutils將stream轉換為document...