`

ibatis一次执行多条SQL

    博客分类:
  • ORM
阅读更多
<statement id="DeleteAccount" parameterClass="Account">
    BEGIN DELETE FROM ORDERS WHERE ACCOUNT_ID = #Id#;
    DELETE FROM ACCOUNTS WHERE ACCOUNT_ID = #Id#; END;
 </statement>
分享到:
评论
4 楼 huiy 2012-10-19  
我在Oracle和SQLSERVER上试过,写法略有不同,Oracle要在SQL的前后加上BEGIN和END,而SQLSERVER则不要。getSqlMapClientTemplate().update(statementName),就是这么调用的。statementName即是statement id。

不好意思,MySQL没有试过,你可以把BEGIN和END去掉,最后一条SQL不要加上分号。测试一下是否可以。
3 楼 寂寞秋江 2012-08-24  
老大,原来可以这么搞,那在DAO层,该怎么写,是这样吗?

getSqlMapClientTemplate().update(statementName)
2 楼 yysm 2012-08-21  
用的什么数据库?mysql好像不行吧
1 楼 zfms 2012-03-22  
很不错,谢谢,帮我解决了很大问题.

相关推荐

    ASP.NET MVC+iBatis+SQL

    3. **事务管理**:iBatis支持事务控制,确保多条SQL语句的原子性。在ASP.NET MVC中,这可以通过使用TransactionScope或其他相关的事务管理工具实现。 **SQL** SQL(Structured Query Language)是用于管理和处理...

    iBATIS-SqlMaps-2_ja.pdf

    - **批处理**:支持一次执行多条 SQL 语句,提高批量操作的性能。 - **日志记录**:提供 SQL 语句执行的日志记录功能,便于调试和维护。 #### 总结 iBATIS Data Mapper 是一个功能强大且易于使用的 ORM 框架。它...

    ibatis 一对多关系映射

    这样,当我们调用`SqlSession`的`selectList`方法执行这个查询时,Ibatis会自动将返回的多条记录按照一对多的关系映射成`User`对象,每个`User`对象都有一个包含所有关联订单的`orderList`。 此外,还可以通过使用`...

    iBatis与数据库交互

    6. 提交/回滚事务:如果有多条SQL语句,需要在最后提交或回滚事务。 7. 关闭SqlSession:每次数据库操作完成后,记得关闭SqlSession。 三、iBatis的四大特性 1. 易于使用:通过简单的XML或注解配置,可以轻松地将...

    ibatis应对批量update

    这是因为每一次循环都需要执行一次数据库连接操作,对于批量更新来说,这样的处理方式显然不够高效。为了解决这个问题,ibatis(现已更名为MyBatis)提供了一种支持批量更新的机制,能够显著提高数据处理的速度。 #...

    ibatis-common.jar包

    它提供了两种基本的执行模式:SimpleExecutor(简单执行器)和BatchExecutor(批处理执行器),前者每次执行一条SQL,后者则将多条SQL语句合并成一个批处理,提高效率。 4. **ParameterMap**与**ParameterMapping**...

    一个程序员的自省 iBATIS In Action:什么是iBATIS(一)

    在Java代码中,可以通过调用sqlMap.queryForObject方法执行这条SQL,传入参数并获取结果对象。 如List 2.1所示的XML配置文件示例,`&lt;select&gt;`元素定义了一个接受整型id的SQL查询,返回的结果将映射到Address对象。...

    iBATIS SQL Maps官方中文教程(PDF)

    iBATIS SQL Maps官方中文教程是一份详细的指南,旨在帮助开发者深入理解和熟练使用iBATIS框架中的SQL Maps API。这份教程涵盖了iBATIS的核心概念、功能以及如何在实际项目中应用这些技术。以下是对这份教程内容的...

    ibatis入门

    Ibatis 会自动处理查询结果,如果返回多条记录,只会返回第一条。确保 SQL 语句的条件能够唯一确定一条记录。 6. **数据集合查询** 对于查询结果集的情况,使用 `selectList` 方法。它会返回一个 List 对象,每个...

    使用的iBatis 简单例子

    对于多条SQL操作,需要确保在同一个SqlSession内进行,以便正确地处理事务。 7. **关闭资源**:操作完成后,记得关闭SqlSession和SqlSessionFactory,以释放资源。 此外,项目中还提到了与MySQL数据库的配合使用。...

    ibatis入门与ibatis迭代的用法

    如果SQL查询结果只有一条记录,`selectOne`方法会被用到,它会返回单个对象。 此外,iBatis还支持Map迭代,当查询结果中的列名与Java对象的属性不完全匹配,或者需要处理多表联查结果时,Map迭代非常有用。例如: ...

    ibatis技术总结

    `SqlMapClient`是iBatis的核心接口之一,其主要职责是执行SQL映射操作。该接口的实现类是`SqlMapClientImpl`。 - **queryForList**:用于执行查询操作并将结果封装为`List`对象返回。支持多种重载方法,包括指定...

    ibatis spring struts 整合案例

    这样,一个完整的请求流程就形成了:用户请求-&gt;Struts2处理-&gt;Spring调用Service-&gt;Ibatis执行SQL-&gt;结果返回给Struts2-&gt;展示给用户。 在BRKR这个压缩包文件中,可能包含了这些组件的配置文件、源代码、JSP页面等资源...

    iBatis习惯用的16条SQL语句

    下面我们将详细探讨文中提到的16条iBatis SQL语句的使用方法及其背后的原理。 1. **输入参数为单个值** 这种情况适用于删除操作,如示例所示,删除所有accessTimestamp等于特定值的数据: ```xml delete from ...

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

    在IT行业中,数据库操作是应用开发的核心部分,而Ibatis作为一个优秀的持久层框架,提供了灵活的SQL映射机制,使得数据库操作更为简单高效。本文将深入探讨如何利用Ibatis实现一对多关系、批处理、事务管理和与...

    使用ibatis操作两个有关系的表

    2. **一对多映射**:如果一个表的数据对应另一个表的多条记录,例如订单表和订单详情表,一个订单可以包含多个详情。这里,我们同样使用`&lt;resultMap&gt;`,但在SQL查询中使用`&lt;collection&gt;`标签来处理多个子记录。 3. ...

    常用ibatis配置

    2. 分页查询:分页是查询大量数据时常用的技术,可以避免一次性加载过多数据造成性能问题。在iBatis中,可以通过SQL语句的LIMIT关键字和offset参数进行分页。上述文档中的标签用于动态生成带有LIMIT和OFFSET子句的...

    ibatis日期格式.doc

    - **问题1**: 建议优化`search`方法,使用联合查询替代多条SQL语句。iBatis支持动态SQL,可以利用`&lt;union&gt;`标签来组合多个查询,提高效率。 - **问题2**: 对于日志保存,建议进行更彻底的封装。这意味着可能需要...

    IBatis.DataAccess.

    缓存可以减少对数据库的重复查询,批处理则可以一次发送多条SQL,提高执行效率。 总结,IBatis.DataAccess是构建数据驱动应用程序的强大工具,它通过配置文件简化了数据库交互,支持动态SQL,提供了事务管理和性能...

    ibatis批量存储

    在批量存储场景下,批处理可以一次性提交多个SQL语句,减少与数据库的交互次数,从而提升性能。使用Ibatis的批处理,首先需要开启SqlSession的自动提交,然后调用SqlSession的batch()方法进入批处理模式,接着执行多...

Global site tag (gtag.js) - Google Analytics