`
cheerwong
  • 浏览: 13227 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

ibatis标签iterate实现批量处理数据

阅读更多

1.批量插入数据(基于oracle的insert all语法)
<insert id="insert" parameterClass="java.util.List">
insert all
<iterate conjunction=" ">
    into t_table ( key, local, value) values
    (#beans[].name#, #beans[].local#, #beans[].value#)
</iterate>
select * from dual
</insert>

2.批量删除数据
<delete id="delete">
    delete from t_table where
    <iterate conjunction="or" open="(" close=")">
	key = #[]#
    </iterate>
</delete>

其中传进来的参数可以是数组也可以是list
或者
<delete id="delete">
    delete from t_table where key in
    <iterate property="keys" conjunction="," open="(" close=")">
	#keys[]#
    </iterate>
</delete>

或者
<delete id="delete">
    delete from t_table
    <iterate prepend="where" property="keys" conjunction="," open=" key in (" close=")">
	#keys[]#
    </iterate>
</delete>

分享到:
评论

相关推荐

    ibatis中iterate的例子

    在iBatis中,`&lt;iterate&gt;`标签是一个非常实用的功能,它允许我们处理集合数据,如数组、List或Map等,进行循环遍历并生成动态SQL语句。下面我们将详细探讨`&lt;iterate&gt;`标签的用法及其示例。 `&lt;iterate&gt;`标签的主要...

    ibatis list

    在本文中,我们将深入探讨iBatis框架中的“ibatis批量”功能,特别是如何利用iBatis进行批量数据处理,包括批量插入、更新和删除操作。我们将通过解析提供的文件片段来阐述这一知识点,重点放在如何使用`&lt;iterate&gt;`...

    ibatis批量存储

    Ibatis的iterate标签主要用于循环处理集合数据,它允许我们在动态SQL中实现类似Java的for-each循环。例如,当需要批量插入多条数据时,可以将数据集放入List中,然后在SQL语句中使用iterate标签遍历这个List。...

    ibatis批量删除的方法.docx

    在这个例子中,`ids`参数是一个逗号分隔的字符串,如`"15,16"`,iBatis会自动处理这个字符串,将其转化为`IN (15, 16)`的SQL片段,从而实现批量删除。 ### 第二种方法:利用`iterate`标签的批量删除 第二种方法是...

    ibatis常用sql语句

    总之,iBATIS框架通过丰富的标签系统,为处理各种类型的输入参数提供了灵活而强大的解决方案,使得开发人员能够更加专注于业务逻辑的实现,而不必过多关注底层的数据库操作细节。这对于提高开发效率和代码质量具有...

    iBatis操作

    ### iBatis批量操作 ...通过对XML配置文件的合理设计以及Java代码的有效编写,可以实现高效的批量数据处理。在实际项目开发中,根据业务需求选择合适的批量操作方式,可以有效提升系统的整体性能。

    Ibatis常用sql语句

    `#status#`表示新状态,`actionIds`为一个列表,通过`iterate`标签迭代列表中的元素,形成IN子句,实现批量更新功能。 #### 5. 查询模块下的动作标识:查询特定模块下的所有动作标识 ```xml select moduleId, ...

    ibatis结合oracle批量插入三种方法的测评

    这种方法使用iterate标签来批量插入数据,但是Oracle不支持一个insert语句中包含多个values的方式。这意味着,如果你想插入多行数据,你需要执行多个insert语句,这将导致性能问题。例如: ``` &lt;![CDATA[ insert ...

    iBATIS实战

    8.2.5 iterate标签 138 8.3 一个简单而完整的示例 139 8.3.1 定义如何检索和显示数据 140 8.3.2 确定将涉及哪些数据库结构 140 8.3.3 以静态格式编写SQL 141 8.3.4 将动态SQL标签应用到静态SQL上 141 8.4 高级动态...

    Ibatis.net结合oracle批量删除实现代码

    其中一种方式是使用&lt;iterate&gt;标签来进行批处理,这样可以将一个大的参数集合分割成多个小的参数集,并且逐一进行处理。 具体到代码实现方面,首先需要定义要删除的数据集合。在C#代码中,我们可以通过字符串来表示...

Global site tag (gtag.js) - Google Analytics