Mybatis中使用循环遍历
Mybatis中传参数的方法
1.使用注解绑定,mapper.xml 对应方法 不需要指定 parameterType,(推荐使用注解绑定方式)
方法接口:
List<CalculateIdeacommissionsum> selectByExample(@Param("example") CalculateIdeacommissionsum example,@Param("roleNameList") List<String> roleNameList);
方法对应的Mapper.xml
<!-- 通过userStatus 排序查询 升序 --><select id="selectByExample" resultMap="BaseResultMap"> select id, calculateYear, calculateMonth, userId, userCode, userName, userStatus, companyName, companyId, curDeptId, curDeptName, roleName from Calculate_IdeaCommissionSum where calculateYear=#{example.calculateYear,jdbcType=SMALLINT} and calculateMonth=#{example.calculateMonth,jdbcType=SMALLINT} and deleteFlag=#{example.deleteFlag,jdbcType=TINYINT} <if test="roleNameList!=null and roleNameList.size()> 0"> <foreach collection="roleNameList" item="rolename" separator="," open="and rolename in(" close=")"> #{rolename,jdbcType=VARCHAR} </foreach> </if> order by userStatus</select>2.如果接口参数没有使用注解绑定,mapper.xml 对应方法 需要指定对应的参数类型。
List<CalculateIdeacommissionsum> selectByExample(CalculateIdeacommissionsum example);
方法对应的Mapper.xml
<!-- 通过userStatus 排序查询 升序 --><select id="selectByExample" parameterType="实体类路径" resultMap="BaseResultMap"> select id, calculateYear, calculateMonth, userId, userCode, userName, userStatus, companyName, companyId, curDeptId, curDeptName, roleName from Calculate_IdeaCommissionSum where calculateYear=#{calculateYear,jdbcType=SMALLINT} and calculateMonth=#{calculateMonth,jdbcType=SMALLINT} order by userStatus</select>
3. parameterType 也可以使用Map存放参数进行查询
接口方法:
List<BaseEmpinfo> selectByParam(Map<String,String> map);
接口方法对应的Mapper.xml 文件方法:
<select id="selectByParam" parameterType="java.util.Map" resultType="com.pacific.rspBonus.model.po.twBonus.mbg.BaseEmpinfo"> select * from Base_EmpInfo where deleteFlag=0 <if test="userName != null and userName!=''"> and userName=#{userName,jdbcType=VARCHAR} </if></select>4.mybatis 遍历循环collection标识我们程序传值过来的集合open表示我们遍历的集合以什么字符开始close表示我们遍历的集合以什么字符结尾item是给我们集合遍历取一个变量 separator 表示的是分隔符,将我们集合中遍历出来的数据用","分隔开。
<if test="roleNameList!=null and roleNameList.size()> 0"> <foreach collection="roleNameList" item="rolename" separator="," open="and rolename in(" close=")"> #{rolename,jdbcType=VARCHAR} </foreach> </if>
sql如下:
select * from Calculate_IdeaCommissionSum where calculateYear=2019 and calculateMonth=2 and roleName in ('副总经理','总监','经纪人');
将roleName的多个条件用关系转化为 roleName in (roleName1,roleName2,roleName3...) in中用foreach循环
参考博客:https://jingyan.baidu.com/album/00a07f3873520e82d028dcce.html?picindex=1
转载于:https://www.cnblogs.com/ming-blogs/p/10643076.html
Mybatis中使用循环遍历相关推荐
- python list遍历删除_Python中list循环遍历删除数据的正确方法
前言 初学Python,遇到过这样的问题,在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下: num_list = [1, 2, 3, 4, 5] print(num_list) f ...
- python遍历循环怎么理解_聊聊python中的循环遍历
python之循环遍历 关于循环遍历大家都知道,不外乎for和while,今天我在这写点不一样的循环和遍历.在实践中有时会遇到删除列表中的元素,那么循环遍历列表删除指定元素该怎么做呢? 还是直接上代码 ...
- (js)模板字符串中使用循环遍历数据:
(js)模板字符串中使用循环遍历数据: // 数据格式 let wordList = {id: "2",question: "李四",content: [{ n ...
- python中for循环遍历列表的几种方法
列表在使用过程中,经常需要遍历列表的所有元素,对每个元素执行相同的操作.今天介绍python中for循环遍历列表的几种方法. 方法1:使用for循环简单结构遍历 首先我们新建一个城市列表,然后分别展示 ...
- for循环执行 mybatis_Mybatis中使用循环遍历
Mybatis中传参数的方法 1.使用注解绑定,mapper.xml 对应方法 不需要指定 parameterType,(推荐使用注解绑定方式) 方法接口: List selectByExample( ...
- Python中的循环遍历列表
1.前言 在我们编写脚本过程中,经常会进行遍历列表里每一个元素,并对指定的元素进行操作,最常见的就是使用for循环进行遍历,本篇将总结除了使用for循环,还有其他的循环遍历方法. 2.使用for循环简 ...
- LeetCode 426. 将二叉搜索树转化为排序的双向链表(BST中序循环遍历)
文章目录 1. 题目 2. 解题 1. 题目 将一个 二叉搜索树 就地转化为一个 已排序的双向循环链表 . 对于双向循环列表,你可以将左右孩子指针作为双向循环链表的前驱和后继指针,第一个节点的前驱是最 ...
- java 遍历循环_如何在Java中实现循环遍历?
我想对以下元素进行循环: [1,2,11,12,21,22111112121122,-,2222222] 或者例如 [1,2,3,11,12,13,21,22,23,31,32,33111111211 ...
- 【Linux】Shell脚本中如何使用“循环”遍历“数组”中的元素(包括MySQL的常用指令介绍)
一.背景 实习过程中,今天mentor突然让我拉取一下远端园区数据库中的部分信息,因为包含很多不同园区的数据信息,而且要以园区为单位生成文件来对数据进行存放,因此自然是需要使用shell脚本来自动生成 ...
最新文章
- 大北农集团被指控授意窃取商业秘密
- 分段路由中的控制指的什么?—Vecloud
- STP、RSTP、MSTP
- python怎么打日志_怎样调试 日志 python 代码
- 最短路径Dijkstra讲解,工具包使用 python
- 转载---LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- 【路径规划】基于matlab A_star算法机器人动态避障路径规划【含Matlab源码 1033期】
- JDK,JRE,JVM的区别
- 深度学习入门_对ORL数据集进行特征提取降维后SVM分类
- 35岁高以翔过劳猝死:人生无常,求各位项目经理少加点班吧
- 什么是基站定位?基站定位的原理及特点
- 遭遇Trojan PSW OnlineGames Trojan HiJack a Trojan PSW ZhuXian
- Java爬取英雄联盟官网,全英雄皮肤背景图片
- DTI-ATS入门(2):DTI协议纵览
- java 导出excel带多种颜色
- TokenInsight对话首席——揭秘7*24小时用数学解码交易的神秘玩家:量化交易者
- wps word文档生成目录的时候显示断裂会生成大纲怎么办_word目录制作技巧:快速生成文档总目录和章节下子目录...
- GBase 8s 客户端工具之dbaccess
- linux服务器安装anaconda,然后远程使用jupyter
- 声网电话面试的总结,技术面, 声网20min(c/c++算法工程化类职位) (一面通过拿到实习offer)
热门文章
- 如何在Outlook中显示Google日历
- 骰子算法 php,骰子作画的算法
- kubectl get -o 格式化
- 亚马逊跟卖的一点建议
- mysql 文件描述符_MySQL异常探究:File Descriptor xxxx exceeded FD_SETSIZE=xxxx
- mysql命令远程连接cmd命令行_如何从Windows命令提示符连接到mysql命令行
- linux下抓包工具 wireshark,网络抓包工具Wireshark下载安装使用详细教程
- 当下互联网行业中,哪些职位比较好?看看字节跳动程序员如何说
- 李笑来在 GitHub 上开源了一本电子书
- 基于体素的3D目标检测网络:VoxelNet