`

ibatis批量删除

阅读更多

 

在《ibatis简单应用》相应文件中加入以下内容:

TestDao:

<!--第一种方法-->

 

public void deleteSome(String id) throws Exception;

<!--第二种方法-->

public void deleteSome(List<String>list) throws Exception;


ITestDaoImpl:

<!--第一种方法-->

 

public void deleteSome(String id) throws Exception {

sqlMapClient.delete("deleteSome1", id);

}

<!--第二种方法-->

public void deleteSome(List<String> list) throws Exception {

sqlMapClient.delete("deleteSome2",list);

}

 

Test.xml:

<!--第一种方法-->

 

<delete id="deleteSome1" parameterClass="String">

delete from test where id in ($id:String$)

</delete>

<!--第二种方法-->

<delete id="deleteSome2" parameterClass="java.util.List">

 delete from test

   <!--conjunction="OR"也可以表示为conjunction=","-->

  <iterate prepend="WHERE" open="(" close=")" conjunction="OR">

id = #list[]#

 </iterate>

</delete>


 

main方法测试

//第一种方法

new ITestDaoImpl().deleteSome("12,13");  //只要把id用“,”连接字符串即可

//第二种方法

 

List<String>idList= new ArrayList<String>();

idList.add("14");

idList.add("15");

new ITestDaoImpl().deleteSome(idList);

 

spring也提供了批量更新的方法

 

this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {  

public Object doInSqlMapClient(SqlMapExecutor executor)  

throws SQLException { 

Map<String,Object> temp = new HashMap<String,Object>();  

executor.startBatch();  

for(Long eachID : sampleIDList) {   

executor.update("update",temp);  

}  

executor.executeBatch();  

return null;  

});  

}

就像hibernate中一样,是使用模板调用了一个回调函数,而参数类型parameterClass="java.util.Map"。

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    ibatis批量删除的方法.docx

    在使用iBatis进行数据操作时,批量删除是常见的需求之一。iBatis是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在配置文件中,提供了灵活的映射机制,使得Java对象与数据库之间的交互更加便捷。在iBatis中...

    ibatis 批量 增删改查

    批量删除(Delete Batch)的操作方式类似,只是SQL语句变成了`DELETE FROM`。例如,根据用户ID列表删除用户: ```xml DELETE FROM users WHERE id IN (" separator="," close=")"&gt; #{id} ``` 批量查询...

    mysql,jdbc详解,与ibatis对比。批量查询,分页处理。

    - **删**: 使用`DELETE FROM`语句删除指定的记录。 - **改**: 使用`UPDATE`语句更新已存在的记录。 - **查**: 使用`SELECT`语句检索表中的数据。 例如,要添加一条新记录到名为`users`的表中,可以使用以下SQL命令...

    ibatis list

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

    ibatis api,ibatis文档,ibatis说明文档

    Ibatis提供了两种执行器:SimpleExecutor和BatchExecutor,分别对应单条SQL执行和批量SQL执行。 5. ParameterMap和ParameterHandler:它们负责参数的设置和处理,ParameterMap代表了SQL参数的映射关系,而...

    IBatis.NET开发文档

    - 批量操作:如何利用iBATIS进行批量插入、更新或删除。 - 动态SQL的最佳实践:分享编写高效动态SQL的技巧和注意事项。 通过深入学习这些文档,开发者可以熟练掌握iBATIS.NET,实现高效、灵活的数据访问,同时...

    ibatis日期格式.doc

    在iBatis中,实现批量删除可以通过动态SQL,使用`IN`操作符结合`&lt;foreach&gt;`标签,将选中的ID集合传入SQL语句中。 2. **小组审核管理** - **问题1**: 建议优化`search`方法,使用联合查询替代多条SQL语句。iBatis...

    ibatis官方中文文档

    此外,文档还特别强调了如何通过iBATIS来调用存储过程,这是数据库操作中的一个重要特性,尤其是在处理复杂逻辑或批量操作时。 **iBATIS-SqlMaps-2-Tutorial_cn.pdf** 作为教程,这份文档提供了逐步指导,帮助读者...

    ibatis 使用手册

    - **Delete**: 删除数据,根据指定条件删除匹配的记录。 **iBatis SQL Maps入门教程** 入门教程通常从简单的Hello World示例开始,逐步引导读者了解如何创建和配置iBatis项目,编写第一条SQL,处理查询结果,以及...

    iBatis操作

    ##### 批量删除 ```xml delete from SYS_TABLE where id in ," open="(" close=")"&gt; #[]# ``` 这些XML配置文件定义了具体的SQL语句,其中`iterate`标签用于处理列表中的每一项。 #### 四、DAO类实现 ...

    ibatis-2.3.

    10. **Batch Operations**: iBATIS 支持批量操作,如插入、更新和删除,可以提高数据处理效率。 从描述 "ibatis-2.3.ibatis-2.3.ibatis-2.3" 看,似乎是在强调这个版本,但并没有提供额外的信息。标签 "ibat" 显然...

    Ibatis.net学习和实例~

    通过提供的文件《IBatisNet开发使用小结.docx》和《iBatis[1].Net详细使用手册.docx》,你将能够找到具体的步骤和示例代码,这些实例将涵盖基本的CRUD操作(创建、读取、更新和删除),以及更高级的功能如存储过程...

    ibatis常用sql语句

    标题与描述概述的知识点主要集中在iBATIS框架的SQL映射技术上,特别是针对不同类型的输入参数如何在iBATIS中构建SQL语句。以下是对这些知识点的详细展开: ### iBATIS SQL映射技术概览 iBATIS是早期流行的Java持久...

    sqlserver Ibatis XML自动生成工具

    你可以选择单个表,也可以批量导入多个表名。工具会根据这些表的结构,自动生成对应的Ibatis SQLMap XML文件,包括增删改查等基本操作。XML文件中的每个元素都将对应数据库表的字段,使你可以直接在代码中调用这些预...

    Ibatis常用sql语句

    以上示例展示了Ibatis在处理各种数据库操作时的强大功能,包括删除、插入、查询和批量更新等常见场景。Ibatis通过其动态SQL标签如`iterate`, `isNotNull`, `dynamic`等提供了极高的灵活性,能够有效应对复杂多变的...

    ibatis 完美例子 一对多 批处理 事务 和 spring struts2集成

    在Ibatis中,可以通过设置SqlSession的flushCache和useCache属性,以及使用批处理执行器ExecutorType.BATCH,来实现批量插入、更新或删除。例如,在插入1万条数据时,将这些操作放在同一个SqlSession中,而不是逐一...

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

    在软件开发过程中,批量删除数据是一项常见的需求,尤其在需要清理测试数据或者根据特定条件删除多个记录时。本文将详细介绍如何在使用***框架的基础上,结合Oracle数据库实现批量删除的操作,并提供相应的示例代码...

    ibatis-2-mybatis-2.3.5.zip

    4. 批量操作:BatchExecutor适用于批量插入、更新和删除操作,提高性能。 六、进阶话题 1. 映射器工厂:理解SqlSessionFactoryBuilder、SqlSessionFactory和SqlSession之间的关系,以及如何通过它们创建和管理映射...

    ibatis简单例子

    5. **Executor**: 执行器,是Ibatis内部处理SQL的组件,有简单执行器、缓存执行器和批量执行器等类型。 6. **Statement**: 表示一个SQL语句,可以是PreparedStatement或SimpleStatement,Ibatis根据配置自动处理...

Global site tag (gtag.js) - Google Analytics