mybatis遍历array数组与集合、json
遍历数组:
int saveOptions(@Param("items")String[] items, @Param("questionId")int questionId) throws Exception;
<insert id="saveOptions">
<foreach item="item" index="index" collection="items" separator=";">
insert into options values(#{item},#{questionId},1)
</foreach>
</insert>
遍历集合:参考之前文章:
20180626:嵌套list遍历
int saveOptions(@Param("list")List<List<String>> list) throws Exception;
<insert id="saveOptions">
insert into options(optionsName,remark,selectOptions) values
<foreach item="items" collection="list" separator=",">
(
<foreach item="item" collection="items" separator=",">
#{item}
</foreach>
)
</foreach>
</insert>
其中collection="list"是指遍历的集合名称是list
item="items"是指遍历的每一项别名叫items 20190319传入json:
//传参:
JSONObject jsonParam= new JSONObject();
jsonParam.put("yananId=", 1);
jsonParam.put("yananName=","张三");
//接口
List<Map<String, Object>> getListByWhere(@Param("jsonParam")JSONObject jsonParam); //mybatis
<select id="getListByWhere" parameterType="net.sf.json.JSONObject" resultType="java.util.Map">
select yananId,yananName
from yanan
<foreach collection="jsonParam" open="where" separator="and" item="jsonValue" index="jsonKey">
${jsonKey} #{jsonValue}
</foreach>
</select>
打印sql:
select yananId,yananName from yanan where yananId=? and yananName =? ==> Parameters: 68(Integer), 张三(String)
mybatis遍历array数组与集合、json的更多相关文章
- Java Array数组 遍历 四种方式(包含 Lambda 表达式遍历)
示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...
- Swift中实现Array数组和NSArray数组的相互转换与遍历
Array是Swift中的数组数据类型.而NSArray是OC中的数组数据类型.两者有差别有联系.在Swift中有时候难免会使用到OC中的一些东西.今天我们就来Swift中使用NSArray和Arra ...
- Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解
Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解 一.Jquery遍历筛选数组 1.jquery grep()筛选遍历数组 $().ready( function(){ v ...
- JavaScript的json和Array及Array数组的使用方法
1.关于json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.也可以称为数据集和数组类似,能够存数据! //Ar ...
- [Swift]遍历集合类型(数组、集合和字典)
Swift提供了三种主要的集合类型,称为数组,集合和字典,用于存储值集合. 数组是有序的值集合. 集是唯一值的无序集合. 字典是键值关联的无序集合. Swift中无法再使用传统形式的for循环. // ...
- MyBatis根据数组、集合查询
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有item,index,collection,open,separator,close.it ...
- c#迭代遍历带数组的json格式数据
[1]首先我们先创建一个带数组形式的json格式的数组 1)我们按照结构定义一个类,如下: using System;using System.Collections.Generic;using Sy ...
- Java-MyBatis-杂项:MyBatis根据数组、集合查询
ylbtech-Java-MyBatis-杂项:MyBatis根据数组.集合查询 1.返回顶部 1. foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的 ...
- Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别
ArrayList和Vector的区别ArrayList与Vector主要从二方面来说. 一.同步性: Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步 ...
随机推荐
- 向Nexus仓库推送/使用各种组件
1.Nuget仓库 使用NuGetPackageExplorer打包制作自己的nupkg https://github.com/NuGetPackageExplorer/NuGetPackageExp ...
- jQuery动态的给页面中添加一条样式表的链接
HTML部分: <input type="button" value="单击" onclick="getbody()" /> & ...
- 使用minGW/cygwin在Windows是用于gcc开发
刚才记录了下用eclipse在linux下开发,突然想起来也另一种方法:MinGW. MinGW是Windows的gcc开发工具,直接使用Windows的运行库,所以可以在windows下面方便的用g ...
- sql isdate判断时间函数(小技巧)
isdate 是一个判断字符串是否为日期的函数,0代表所传入的字符串不是日期,1代表传入的参数是日期. select isdate('30/12/2014') ---0 第一个是 mdy --如 ...
- Eclipse变量名自动补全问题 自定义上屏按键为TAB
Eclipse空格等号等都可以上屏,这样有时候输入变量名再按空格就会自动补全,非常讨厌.那么怎么办呢? 1.首先你的Eclipse需要装有 Eclipse plug-in development en ...
- Bogart gGrid.vb
Namespace BogartMis.Cls Public Class gGrid '設定表格控的列標題的別名 '說明:strItem字符串的格式為"01,02,03,04,05" ...
- Java-IntegerCache
Integer类里面有一个私有的静态内部类IntegerCache类加载时,有一段静态块代码,如下 static final int low = -128; static final int high ...
- HTML 标签元素的 align 属性
align 属性规定段落中文本的对齐方式. 有 left right center justify 这些参数 left right center 就是左对齐 右对齐 中间对齐 justify ...
- Egret - timer
相关:http://edn.egret.com/cn/index.php/article/index/id/154 1.Timer 的使用方法非常简单,我们只需要关心两个属性,三个方法和两个事件即可. ...
- 学习笔记-db
异步,最终一致性,幂等操作 关系型数据库隔离了数据的存储路径,让用户只关心查询的逻辑,为了实现事物和强一致性通过各种锁牺牲了性能 互联网在线处理需求排列 数据的扩展性 > 请求的响应时间 > ...