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是线程序不安全的,不是同步 ...
随机推荐
- 1044 Shopping in Mars (25 分)
1044 Shopping in Mars (25 分) Shopping in Mars is quite a different experience. The Mars people pay b ...
- sklearn 线性模型使用入门
LinearRegression fits a linear model with coefficients to minimize the residual sum of squares betw ...
- [UE4]通过代码改变材质
OrangeMaterial = ConstructorStatics.OrangeMaterial.Get(); , OrangeMaterial); 使用到的结构体如下: struct FCons ...
- (转)Win7 64位系统下 Retional rose 2003 安装及破解
网上关于Retional rose 2003安装和破解的文章比较多,这里,我结合自己的亲身体验,和大家分享一下win7 旗舰版 64位系统下Retional rose 2003(下面简称rose200 ...
- 【洛谷】P1357 花园(状压+矩阵快速幂)
题目 传送门:QWQ 分析 因为m很小,考虑把所有状态压成m位二进制数. 那么总状态数小于$ 2^5 $. 如果状态$ i $能转移到$ j $,那么扔进一个矩阵,n次方快速幂一下. 答案是对角线之和 ...
- vs2017诊断工具
vs2017诊断工具
- [Python] 拉格朗日插值
#-*— coding:utf-8 -*- #Program 0.3 Lagrange Interpolation import matplotlib.pyplot as plt import num ...
- [Flutter] TextField 中只允许输入合法的小数
的Flutter的TextField中,我们可以通过设置inputFormatters来过滤和限制输入的内容. 下面是一个自定义的 TextInputFormatter,可以限制用户只能输入有效的整数 ...
- UVA-755-排序
奇怪,我怎么还有一个排序题目没过 题意如下: 公司喜欢有难忘的电话号码,一个让电话号码变得难忘的方式是有一个拼读起来难忘的单词,比如,你可以呼叫University of Waterloo通过拨打难忘 ...
- 0_Simple__simpleVoteIntrinsics + 0_Simple__simpleVoteIntrinsics_nvrtc
介绍了线程束表决函数的实例(其概念介绍见 http://www.cnblogs.com/cuancuancuanhao/p/7841512.html),并在静态和运行时编译两种条件下进行使用. ▶ 源 ...