ibatis批量增加数据

ibatis有批处理功能,如下是执行批量增加操作,但我不明白的是如果如下这样定义insertid的定义有要求么,是必须*.batchinsert才行么?还有就是入参的问题... ibatis有批处理功能,如下是执行批量增加操作,但我不明白的是如果如下这样定义
insertid的定义有要求么,是必须*.batchinsert才行么?还有就是入参的问题,
入参是一个list,list中应该add的是sdo对象么?因为insert是批量的,通过id的batchinsert来判断是批增加处理,然后取list中的sdo,sdo.getId(),sdo.getName(),是我想的这种方式吗?
<insertid="member.batchInsert" parameterClass="java.util.List">
insert into tableName (id,name) values
<iterate conjunction=";" property="conditions">
(#id#,#name#)
</iterate>
</insert>
求解答?
展开
 我来答
爱荒岛
推荐于2016-01-06 · TA获得超过161个赞
知道小有建树答主
回答量:157
采纳率:100%
帮助的人:89.5万
展开全部
ibatis的批处理是指,将startBatch与executeBatch之间的语句一次一起提交执行,减少与数据库的交互数次,提高执行性能,如:sqlMapper.startBatch();要执行的语句……sqlMapper.executeBatch();不是你指的这样子用xml映射文件中的标签参数,还有就是你<insert id="member.batchInsert">也写错了,没有这样的写法,这个Id是用来dao层的映射用来执行crud操作的,<iterate>标签一般用于<select>标签的,它可以循环一个list或者map但循环出来的是一个对象,对象里面的属性是不可能直接循环出来的,它还没高级到能自动循环出的condition[].getName了
追问
也就是namingsql文件下配置的好比是一个insert into table(c1,c2) values(v1,v2);
然后ibatis只是对jdbc批处理的一种封装,基本也就是执行了多次insert,但提交是通过响应api如executeBatch来执行批量的数据新增的是吗
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式