mybatis 返回值问题

今天碰到一个奇怪的现象。mybatis返回值为-2147482646,很不正常啊。

正常情况下,应该是返回sql操作之后受影响的行数的,应该是个正整数或者零才正常啊。

 

原因是在mybatis中写了批处理配置导致的

 

<constructor-arg name="executorType" value="BATCH"></constructor-arg>

将BATCH 改为 SIMPLE 或 REUSE   sql操作返回值就正常了。同时批量操作也就失效了

 

 

如果在mybatis的配置位置xml文件中没有配置defaultExecutorType默认执行器的话,mybatis默认执行简单SQL语句,即一次数据库连接只发送一条SQL语句,此时要做批量执行需要用<foreach> 标签拼接成一个大SQL语句,然后一次执行完毕。或者用上述批量插入方法,在获得session时设置批量执行器。 

 

posted @ 2018-08-15 10:46  民院小青年  阅读(291)  评论(0编辑  收藏  举报