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>
求解答? 展开
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>
求解答? 展开
展开全部
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来执行批量的数据新增的是吗
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询