mybatis delete 返回-2147482646的问题

Posted 琴声清幽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis delete 返回-2147482646的问题相关的知识,希望对你有一定的参考价值。

在用mybatis作删除业务时,去返回值,得到-2147482646

原因是 开启了BATCH,在applicationContext.xml中配置的mybatis

<!--为这次两个不一致的提交,而打开,测试如何  -->
    <bean class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg name="sqlSessionFactory"
            ref="sqlSessionFactoryBean"></constructor-arg>
        <!-- 打开此处,delete业务返回值为-2147482646,有异常。关闭批处理后,在作删除业务时,返回值为0,或1,正常 .
        此处有三个选项 SIMPLE, REUSE, BATCH,默认SIMPLE, REUSE        是复用预处理语句,BATCH是批量更新 
         <constructor-arg name="executorType" value="BATCH"></constructor-arg>
        -->
        <constructor-arg name="executorType" value="REUSE"></constructor-arg>
    </bean>

将其改为REUSE ,就可以了。返回值有了,但批处理呢?

另外:

在mapper文件中写出这样:

<delete id="deleteZhouyiContent" parameterType="java.lang.Long">
<![CDATA[
delete from tbl_content where id = #{id,jdbcType=INTEGER}
 ]]>
</delete>

前后加上CDATA,据说也管用,这个我没测试,这两个我都用上了,现在状态ok。

 

以上是关于mybatis delete 返回-2147482646的问题的主要内容,如果未能解决你的问题,请参考以下文章

mybatis insertupdate delete默认返回值解释与如何设置返回表主键

mybatis update/delete如何获取返回影响条数,在线坐等,直接配置resultType和不配置都不行,谢谢

spring+mybatis下delete和insert返回值-2147482646

mybatis+spring3.1 dao继承SqlSessionDaoSupport后使用sqlsession.delete() 为啥返回-2147482646这个值?

mybatis insert update delete返回都是整型 0,1,增,删,改要提交事物

MyBatis中Mapper的返回值类型