springMVC+mybatis 增刪該操作后判斷影響行數一直返回-2147482646


MyBatis發現更新和插入返回值一直為"-2147482646"的錯誤是由defaultExecutorType設置引起的,如果設置為BATCH,更新返回值就會丟失。mybatis官方的討論列表,這句很關鍵:“If the BATCH 
executor is in use, the update counts are being lost. ”

在我的springMVC和mybatis整合中設置了如下內容
    <!-- 配置mapper接口 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="*****.dao" />
    </bean>
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSessionFactory" />
        <constructor-arg index="1" value="BATCH" />
    </bean>
    <!-- 事務配置 -->
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>

就是因為上面設置了 <constructor-arg index="1" value="BATCH" /> 這句引起的。去掉即可。

由於框架是別人搭建的,不知道此處的設置是何用意。

<constructor-arg index="1" value="BATCH" />這是設置如此是想要進行批量操作,但是經測試沒有此處的設置也可進行批量操作。大膽果斷的刪除即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM