`
noasoso
  • 浏览: 35973 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

ibatis中iterate的用法(转载)

 
阅读更多

PersonDaoImp如下:
  /**
    * 删除性别为man,年龄为 11,12 的Person记录
    */

  public int deletePerson(Map<String, Object> map) {
         
         List<Person> personList=new ArrayList<Person>();

         Person p1=new Person(11);
         person p2=new Person(12);
         personList.add(p1);
         personList.add(p2);

         map.put("personList"personList);

         map.put("sex",'man');
         return getSqlMapClientTemplate().delete(
                                 "person.deletePerson", map);
     }
person.xml如下:
<!-- 删除相应的person记录 -->
  <delete id="deletePerson" parameterClass="map">

    delete from 表名 where      sex=#sex#         
        <iterate prepend="and" property="personList" open="("
          close=")" conjunction="or">
          age=$personList[].age$
        </iterate> 
       
  </delete>
输出sql如下:
delete from 表名 where sex='man' and (age =11 or age=12)

当然你也可以这么写:
person.xml如下:
<!-- 删除相应的person记录 -->
  <delete id="deletePerson" parameterClass="map">

    delete from 表名 where      sex=#sex#     and age in   
        <iterate property="personList" open="("
          close=")" conjunction=",">
          $personList[].age$
        </iterate> 
       
  </delete>
输出sql如下:
delete from 表名 where sex='man' and  age in (11 ,12)

最后Person代码大致如下:
public class Person{
  public Person(int age){
      this.age=age;
  }
  /**
    * 年龄
    */

  private int age;
  /**
    * 性别
    */

  private String sex;
  
   //get/set方法略
   ...
 }//end of Person

 

分享到:
评论

相关推荐

    ibatis中iterate的例子

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

    ibatis标签

    标题中的“ibatis&lt;iterate&gt;标签”指的是在iBATIS框架中用于动态SQL的一个关键功能。iBATIS是一个优秀的持久层框架,它允许将SQL语句直接嵌入到Java代码中,简化了数据库操作。而`&lt;iterate&gt;`标签是iBATIS提供的一个...

    ibatis批量处理

    在实际开发中,建议将iBatis与Spring结合使用,并利用Spring的事务管理功能简化代码,提高系统的可维护性和扩展性。此外,合理选择不同的实现方式(如直接使用iBatis API、基于Spring事务管理或使用回调方式),可以...

    ibatis list

    `&lt;iterate&gt;`标签是iBatis中用于循环遍历集合的一种机制,它允许你在SQL语句中动态生成参数列表,这对于批量操作(如批量插入、更新或删除)尤为重要。该标签支持多种属性,包括`property`、`conjunction`、`open`、`...

    ibatis入门与ibatis迭代的用法

    4. **动态SQL**:iBatis支持动态SQL,可以在XML中使用if、choose、when、otherwise等标签实现条件判断。 5. **使用SqlSession**:在Java代码中,通过SqlSessionFactory创建SqlSession对象,然后通过SqlSession执行...

    iBATIS缓存的使用方法

    本文将详细介绍iBATIS中的缓存使用方法,包括缓存模型的配置、不同类型的缓存控制器以及如何在SQL映射文件中应用这些缓存设置。 #### 一、缓存的基本概念 缓存是存储数据的一种临时区域,目的是减少重复查询数据库...

    ibatis官方中文文档

    这两份文档详尽地介绍了iBATIS这一持久层框架的使用方法,特别是针对存储过程的调用进行了深入的讲解。对于那些想要了解或深入掌握iBATIS,特别是想在实际项目中使用iBATIS存储过程的开发者来说,这是一份非常宝贵的...

    详细介绍Ibatis的用法

    ### 详细介绍Ibatis的用法 #### Ibatis概述与特点 Ibatis是一个开源的持久层框架,它通过简单的XML配置文件将JavaBean映射到SQL语句上,从而极大简化了对关系数据库的操作。与其他数据库持久层框架如JDO、...

    iBatis Web用法实例

    在这个"iBatis Web用法实例"中,我们将深入探讨如何在Web项目中集成并使用iBatis,以及相关的最佳实践。 1. **iBatis 概述**: iBatis 作为轻量级的ORM(对象关系映射)框架,它的核心思想是将SQL与Java代码分离,...

    ibatis3.0中in的用法

    ### ibatis3.0中`in`的用法详解 #### 一、引言 在进行数据库查询时,经常会遇到需要根据多个值进行查询的情况,这时`IN`语句就显得尤为重要。`IN`语句可以用于判断某个字段的值是否在一个指定的列表之中,非常适用...

    ibatis批量存储

    本文将深入探讨“ibatis批量存储”这一主题,基于给定的文件名,我们将依次解析Ibatis中的iterate标签、批处理、foreach标签以及如何在Ibatis中使用HashMap。 1. Iterate标签详解及应用: Ibatis的iterate标签主要...

    ibatis2.0中文API

    在iBATIS 2.0中文API中,我们可以深入理解这个框架的核心功能和用法,包括一对多、多对一的关系映射、属性设置以及解决方案的详细解析。 首先,一对多和多对一的关系映射是ORM(对象关系映射)中的关键概念。在...

    ibatis乱码解决方法(ibatis独立)

    在IT行业中,数据库操作是必不可少的一部分,而Ibatis作为一款流行的Java持久层框架,它使得SQL与Java代码更好地结合,提供了灵活的数据库操作方式。然而,数据处理时遇到的编码问题,如乱码,常常会给开发者带来...

    ibatis3中使用jpa的方法进行查询

    本篇文章将探讨如何在Ibatis3中融合JPA的方法进行查询,以实现更加灵活的数据访问。 首先,理解Ibatis3的核心概念。Ibatis3的主要组成部分包括SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession以及Mapper...

    ibatis总结 ibatis ibatis ibatis ibatis

    - 避免在`WHERE`子句中使用多个条件或`OR`操作符,而是应该使用`IN`操作符或者`UNION ALL`合并多个查询。 3. Struts、Spring与Ibatis的集成: - Struts作为MVC框架,主要负责视图与控制器的交互。在项目中,`...

    iBatis net版中文 1.6的

    iBatis 是一款著名的开源持久层框架,专为Java应用程序设计,它允许开发者将SQL语句直接嵌入到Java代码中,从而简化了数据访问层的开发。在.NET环境中,iBatis同样提供了相应的实现,即iBatis .NET版。这个版本与...

    ibatis demo,ibatis例子,ibatis示例

    通过这个demo,你可以了解到Ibatis的基本用法,如何编写SQL映射文件,如何设计Mapper接口,以及如何在Java代码中调用这些接口执行数据库操作。同时,也能掌握Ibatis的动态SQL特性,以及如何配合Spring进行更高效的...

    ibatis中使用安全的拼接语句,动态查询,大于、小于、等于.doc

    iBatis 中使用安全的拼接语句、动态查询、大于、小于、等于 iBatis 是一个流行的持久层框架,提供了许多强大的功能来帮助开发者构建高效、安全的数据库交互应用程序。本文将详细介绍 iBatis 中使用安全的拼接语句、...

    ibatis拼接字符串

    在本篇文章中,我们将深入探讨如何使用 Java 编程语言结合 iBatis 框架进行 SQL 字符串的动态拼接。通过分析提供的代码片段,我们可以了解到在实际开发过程中,这种动态 SQL 的构建方式非常常见,尤其是在处理复杂的...

Global site tag (gtag.js) - Google Analytics