`
silencelyn
  • 浏览: 19993 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

Mybatis 传参数 List Array

阅读更多
两个类
 
//
public class ShopBean{
private Integer shopId;

private List<BaseBean> shopList;

private String[]  shopArray;

//get  method

//set  method


} 

//基类
public  class BaseBean{

private Integer shopId;

private Integer shopName;

private String shopAddress;

//get  method

//set  method


}


当传入参数为 ShopBean,foreach 访问 List ,
需要设置 collection="shopList",与ShopBean中参数名对应。
遍历每一个 BaseBean ,设置item="item",这里可以任意,
表示遍历的当前BaseBean对象,要访问BaseBean 中的对象 直接  item.shopId
<select id="searchMaxSaleProduct" resultType="ShopBean" parameterType="ShopBean" >
  		 SELECT TOP 1 
			T1.shopId AS ShopId
		FROM
		     dbo.T_Sale T1
		WHERE
		 	ShopId  IN
		 <foreach collection="shopList" item="item" open="(" separator="," close=")">
		 	#{item.shopId}
		 </foreach>
		 
		
		
  </select>


遍历 Array
<select id="searchMaxSaleProduct" resultType="ShopBean" parameterType="ShopBean" >
  		 SELECT TOP 1 
			T1.shopId AS ShopId
		FROM
		     dbo.T_Sale T1
		WHERE
		 	ShopId  IN
		 <foreach collection="shopArray" item="item" open="(" separator="," close=")">
		 	#{item}
		 </foreach>
		 
		
		
  </select>
分享到:
评论

相关推荐

    Mybatis传list参数调用oracle存储过程的解决方法

    "Mybatis调用Oracle存储过程传List参数解决方法" Mybatis是当前最流行的持久层框架之一,它提供了强大的数据访问和操作功能。但是,如何将List类型参数传递给Oracle存储过程,实现批量插入数据却是一个棘手的问题,...

    MyBatis传入集合 list 数组 map参数的写法

    在MyBatis中,处理集合参数如list、array以及map是非常常见的操作。这些参数通常用于构建动态SQL,特别是当需要在`IN`语句中使用多个值时。下面将详细解释如何在MyBatis中使用这些参数类型。 1. **List参数**: 当...

    Mybatis框架 mapper.xml文件中parameterType传递参数常用的几种方式.pdf

    在Mybatis框架中,mapper.xml文件是定义SQL语句、映射规则以及参数传递方式的重要组成部分。正确地使用parameterType传递参数对于开发高质量的应用程序至关重要。以下是几种常用的parameterType参数传递方式以及#和$...

    MyBatis中Foreach参数问题.doc

    当传入一个集合类型的参数时,MyBatis会将其封装成一个包含`collection`和`list`两个键的Map对象。具体实现如下: ```java private Object wrapCollection(Object object) { DefaultSqlSession.StrictMap map; if...

    mybatis拦截器实现通用权限字段添加的方法

    MyBatis拦截器实现通用权限字段添加的方法 MyBatis拦截器是一种非常实用的技术,可以用来实现各种复杂的数据库操作。本文将详细介绍如何使用MyBatis拦截器来实现通用权限字段添加,达到灵活、可靠、可维护的数据库...

    MyBatis参数处理实现方法汇总

    集合(List、Set)或数组也会被封装到Map中,键名分别为`collection`、`list`或`array`。例如,`List&lt;Integer&gt; ids`,在SQL中可以通过`#{list[0]}`来获取第一个元素的值。 8. **参数值的获取**: - `#{}`:以预...

    Java调用存储过程--传入集合参数

    此过程涉及使用`StructDescriptor`和`ArrayDescriptor`创建描述符,然后使用这些描述符构建`STRUCT`和`ARRAY`对象,最终作为参数传递给存储过程。 ```java private static ARRAY getOracleArray(Connection con, ...

    springmybatis

    MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm...

    测试mybatis里foreach用法

    在MyBatis中,`&lt;foreach&gt;`标签是一个非常重要的元素,它主要用于动态SQL语句的构建,尤其是在处理集合数据类型如List、Array、Map时。`&lt;foreach&gt;`标签的使用可以极大地提高代码的可读性和可维护性,避免了传统的字符...

    Mybatis 传输List的实现代码

    在处理复杂数据传输时,MyBatis 提供了处理 List 和 Array 类型参数的方法。本文将详细讲解如何在 MyBatis 中实现通过 List 或 Array 传递参数来执行查询操作。 首先,当查询的参数只有一个,如一个 List&lt;Long&gt; 或 ...

    关于 MyBatis 我总结了 10 种通用的写法.docx

    在MyBatis中,我们可以将List实例或数组作为参数对象传递给Mapper。MyBatis会自动将其包装在一个Map中,并以名称为键。List实例将会以“list”作为键,而数组实例的键将是“array”。 2. 使用foreach循环容器的标签...

    mybatis常用语句和lyaui 多条件查询加分页

    MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的过程,它可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。...

    MyBatis 深入浅出-动态SQL

    - **当传入参数是一个List时**: ```xml &lt;select id="findUsersByIds" parameterType="java.util.List"&gt; SELECT * FROM users WHERE id IN &lt;foreach item="item" index="index" collection="list" open="(" ...

    mybatis 中 foreach collection的用法小结(三种)

    情况三:传入的参数是多个时,我们需要把它们封装成一个 Map,collection 属性的值就是传入的 List 或 array 对象在自己封装的 Map 里面的 key。 foreach 语句是 MyBatis 中一个非常有用的语句,它可以帮助我们简洁...

    Mybatis批量删除多表

    当collection属性设置为list时,参数类型为集合。 需要注意的是,无论MyBatis是与MySQL数据库结合还是与Oracle数据库,都是适合使用上面的设置和操作的。 MyBatis的批量删除功能可以帮助我们快速高效地实现多表的...

    mybatis中foreach报错:_frch_item_0 not found的解决方法

    因此,如果你的`&lt;foreach&gt;`标签中`collection`属性设置为`list`或`array`,MyBatis会尝试从传递的参数中找到相应的键。如果找不到,就会抛出“_frch_item_0 not found”的错误。 解决这个问题的方法包括: - 检查...

    MyBatis动态标签.pdf

    - 如果传入的是单参数且参数类型是一个`Array`,则默认使用`array`作为`Array`对象的键。 - 如果传入的参数是多个,可以封装到一个`Map`中,但是`Map`对象没有默认的键,必须使用`@Param`注解指定`collection`的键。...

    详解mybatis foreach collection示例

    如果参数的类型是Array,则在使用时,collection属性要必须指定为array。 2. 当查询的参数有多个时,需要使用注解Param指定key值,否则都会使用数字开头。 3. 在使用MyBatis foreach collection时,需要特别注意...

    Mybatis分页插件 PageHelper5.0.0 使用

    public List&lt;Sys_user&gt; selectByPageCondition(Map, Object&gt; map) { int pageNo = Integer.parseInt(map.get("pageNo").toString()); int pageSize = Integer.parseInt(map.get("pageSize").toString()); ...

Global site tag (gtag.js) - Google Analytics