Mybatis 示例之 foreach

foreach属性:

属性 描述
item 循环体中的具体对象。支持属性的点路径访问,如item.age,item.info.details。
具体说明:在list和数组中是其中的对象,在map中是value。
该参数为必选。
collection 要做foreach的对象,作为入参时,List<?>对象默认用list代替作为键,数组对象有array代替作为键,Map对象没有默认的键。
当然在作为入参时可以使用@Param("keyName")来设置键,设置keyName后,list,array将会失效。 除了入参这种情况外,还有一种作为参数对象的某个字段的时候。举个例子:
如果User有属性List ids。入参是User对象,那么这个collection = "ids"
如果User有属性Ids ids;其中Ids是个对象,Ids有个属性List id;入参是User对象,那么collection = "ids.id"
上面只是举例,具体collection等于什么,就看你想对那个元素做循环。
该参数为必选。
separator 元素之间的分隔符,例如在in()的时候,separator=","会自动在元素中间用“,“隔开,避免手动输入逗号导致sql错误,如in(1,2,)这样。该参数可选。
open foreach代码的开始符号,一般是(和close=")"合用。常用在in(),values()时。该参数可选。
close foreach代码的关闭符号,一般是)和open="("合用。常用在in(),values()时。该参数可选。
index 在list和数组中,index是元素的序号,在map中,index是元素的key,该参数可选。
时间: 2024-08-09 13:21:27

Mybatis 示例之 foreach的相关文章

“mybatis 中使用foreach 传

为了帮助网友解决“mybatis 中使用foreach 传”相关的问题,中国学网通过互联网对“mybatis 中使用foreach 传”相关的解决方案进行了整理,用户详细问题包括:mybatismapsql <update id="updateallByEntity" parameterType="java.util.List"> update T_WEEKDAY <foreach item="item" index="

当在mybatis用到foreach的时候异常

当在mybatis用到foreach的时候,会报这个错误Parameter '__frch_item_0' not found. Available parameters are [list]会出现的几种解决方案 例子 copy < id=  parameterType=> pic_attachment item= = separator=> (#{item.picId},#{item.picUdid},#{item.relateId},#{item.relateCode},#{item

Mybatis的&lt;where&gt;&lt;foreach&gt;&lt;set&gt;等标签详解

sql语句where条件中,需要一些安全判断,例如按性别检索,如果传入的参数是空的,此时查询出的结果很可能是空的,也许我们需要参数为空 时,是查出全部的信息.这是我们可以使用动态sql,增加一个判断,当参数不符合要求的时候,我们可以不去判断此查询条件.  下文均采用mysql语法和函数(例如字符串链接函数CONCAT 3.1 if标签  一个很普通的查询: Xml代码   <!-- 查询学生list,like姓名 -->    <select id="getStudentLis

mybatis示例集合

本文适合对mybatis有简单的入门了解的读者.转载请注明出处! 环境: Mysql5.6.navicat for mysql 11.jdk8.maven3.3.9.mybatis3.2.8 MySQL表 CREATE TABLE `sale` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sale_name` varchar(255) DEFAULT NULL, `sale_age` int(11) DEFAULT NULL, `user_id` int(1

Mybatis 示例之 Association - 偶尔记一下 - 博客频道 - CSDN.NET

body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;

Mybatis 示例之 SelectKey

SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式. 不管SelectKey有多好,尽量不要遇到这种情况吧,毕竟很麻烦. selectKey Attributes 属性 描述 keyProperty selectKey 语句结果应该被设置的目标属性. resultType 结果的类型.MyBatis 通常可以算出来,但是写上也没有问题.MyBatis 允许任何简单类型用作主键的类型,包括字符串. order 这可以被设置为

Mybatis 示例之 SelectKey(转)

参考:http://blog.csdn.net/isea533/article/details/21153791 SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式. 不管SelectKey有多好,尽量不要遇到这种情况吧,毕竟很麻烦. selectKey Attributes 属性 描述 keyProperty selectKey 语句结果应该被设置的目标属性. resultType 结果的类型.MyBatis 通常可以算出

[转] Mybatis 示例之 SelectKey

SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式. 不管SelectKey有多好,尽量不要遇到这种情况吧,毕竟很麻烦. selectKey Attributes 属性 描述 keyProperty selectKey 语句结果应该被设置的目标属性. resultType 结果的类型.MyBatis 通常可以算出来,但是写上也没有问题.MyBatis 允许任何简单类型用作主键的类型,包括字符串. order 这可以被设置为

Mybatis 示例之 TypeHandler

关于TypeHandler的基础内容可以参考官方中文文档: http://mybatis.github.io/mybatis-3/zh/configuration.html#typeHandlers TypeHandler写起来很容易,但是有一个很重要的点需要注意. 你是否遇到过类似下面的错误: Caused by: java.lang.RuntimeException: 调用方法异常:java.lang.IllegalStateException: Type handler was null