我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MyBatis怎么进行双重foreach循环

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MyBatis怎么进行双重foreach循环

这篇文章主要介绍MyBatis怎么进行双重foreach循环,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

进行双重foreach循环

mapname是一个Map<String,Map<String,Object>> 对象

<foreach collection="mapname" index="key1" item="value1" separator=",">    <foreach collection="value1" index="key2" item="value2" separator=",">        #{key1},        #{key2},        #{value2}    </foreach></foreach>

使用场景

比如说一个付款人下面对应的运单的金额,那么key1就是付款人编号,key2是运单编号,value2是分摊的金额 

mybatis foreach循环,传入多个参数

上代码

controller:

@RequestMapping(value = "/findPage", method = RequestMethod.POST)    @ResponseBody    public Object findPage(@RequestParam(required=false) String jobCategory,@RequestParam(required=false) String ids,@RequestParam(required=false) String cities) {        try {            List<Integer> listJob = new ArrayList<Integer>();            List<Integer> listIds = new ArrayList<Integer>();            List<String> listCities = new ArrayList<String>();            //按照城市名称和工种查询            if(StringUtils.isNotBlank(jobCategory) && StringUtils.isNotBlank(cities)){                String[] temp = jobCategory.split(",");                String[] cityTemp = cities.split(",");                for(int i=0;i<temp.length;i++){                    listJob.add(Integer.valueOf(temp[i]));                }                for(int i=0;i<cityTemp.length;i++){                    listCities.add(cityTemp[i]);                }                List<WebsitesJob> list = jobService.findPage(listJob, listIds, listCities);                return new ExtGridReturn(list.size(), list);            }            //按照工种查询            if(StringUtils.isNotBlank(jobCategory)){                String[] temp = jobCategory.split(",");                for(int i=0;i<temp.length;i++){                    listJob.add(Integer.valueOf(temp[i]));                }            }            //按照职位名称查询            if(StringUtils.isNotBlank(ids)){                String[] temp = ids.split(",");                for(int i=0;i<temp.length;i++){                    listIds.add(Integer.valueOf(temp[i]));                }            }            //按照城市查询            if(StringUtils.isNotBlank(cities)){                String[] temp = cities.split(",");                for(int i=0;i<temp.length;i++){                    listCities.add(temp[i]);                }            }            List<WebsitesJob> list = jobService.findPage(listJob, listIds, listCities);            return new ExtGridReturn(list.size(), list);        } catch (Exception e) {            LOGGER.error("分页获取信息出错", e);            return new ExceptionReturn(e);        }    }

mapper

    List<WebsitesJob> findPage(@Param("jobCategorys") List<Integer> jobCategorys,@Param("ids") List<Integer> ids,@Param("workPlace") List<String> workPlace);

xml

<!-- 前台查询列表 -->   <select id="findPage" resultType="cn.edu.hbcf.plugin.websites.pojo.WebsitesJob">           select n.ID id,              n.NAME name,              n.WORKPLACE workPlace,              n.JOBCATEGORY jobCategory,              n.SALARY salary,              n.RESPONSIBILITIES responsibilities,              n.REQUIREMENTS requirements,              n.ISHOT isHot,              n.UPDATEDATE updateDate,              n.UPDATEUSER updateUser,              u.real_name updateName         from websites_job n         left join base_users u on n.updateUser = u.account         <where>             <if test="jobCategorys.size()!=0">                 or    n.jobCategory in                   <foreach collection="jobCategorys" index="index" item="item" open="(" separator="," close=")">                    #{item}                </foreach>            </if>            <if test="ids.size()!=0">                or n.id in                   <foreach collection="ids" item="item" index="index" open="(" separator="," close=")">                    #{item}                </foreach>             </if>             <if test="workPlace.size()!=0">                or n.WORKPLACE in                   <foreach collection="workPlace" item="item" index="index" open="(" separator="," close=")">                    #{item}                </foreach>             </if>         </where>         order by n.ISHOT,n.ID desc   </select>

以上是“MyBatis怎么进行双重foreach循环”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MyBatis怎么进行双重foreach循环

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MyBatis怎么进行双重foreach循环

这篇文章主要介绍MyBatis怎么进行双重foreach循环,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!进行双重foreach循环mapname是一个Map> 对
2023-06-29

MyBatis怎么实现批量插入数据,多重forEach循环

今天小编给大家分享一下MyBatis怎么实现批量插入数据,多重forEach循环的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧
2023-06-29

python双重for循环怎么优化

要优化双重循环,可以尝试以下几种方法:尽量减少循环次数:检查是否有多余的循环,在必要的情况下尽可能减少循环次数,例如通过合理的条件判断跳过不必要的循环。使用更高效的数据结构:如果可能的话,可以考虑使用更高效的数据结构来替代嵌套的循环。例如,
python双重for循环怎么优化
2024-02-29

怎么在Java8中利用forEach语句对List和Map进行循环

本文章向大家介绍怎么在Java8中利用forEach语句对List和Map进行循环的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序
2023-06-06

怎么在Linux中对shell数组进行循环

这篇文章给大家介绍怎么在Linux中对shell数组进行循环,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。shell数组循环测试shell数组,循环的例子: arr=("a" "b" "c") echo "所有的内容
2023-06-09

Vue.js怎么对数组和对象进行循环

本文小编为大家详细介绍“Vue.js怎么对数组和对象进行循环”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue.js怎么对数组和对象进行循环”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。v-forv-for
2023-07-04

MySQL中怎么用REPEAT语句进行条件循环

在MySQL中,不支持使用REPEAT语句进行条件循环。MySQL中没有类似于REPEAT语句的条件循环语句,但可以通过使用WHILE语句来实现条件循环。以下是一个使用WHILE语句进行条件循环的示例:DECLARE i INT DEFA
MySQL中怎么用REPEAT语句进行条件循环
2024-04-30

Perl中怎么进行条件判断和循环操作

在Perl中,条件判断和循环操作可以使用if、elsif、else、while、for等关键字来实现。下面是一些常用的条件判断和循环操作示例:if条件判断:my $num = 10;if ($num > 0) {print "Number
Perl中怎么进行条件判断和循环操作
2024-03-05

MySQL中怎么模拟FOR循环进行数据分析

在MySQL中,虽然没有直接的FOR循环语法,但可以使用存储过程或者循环JOIN等方法来模拟FOR循环进行数据分析。以下是一个使用存储过程来模拟FOR循环进行数据分析的示例:DELIMITER $$CREATE PROCEDURE a
MySQL中怎么模拟FOR循环进行数据分析
2024-04-30

MySQL中怎么使用LOOP循环进行数据清洗

在MySQL中,可以使用存储过程和游标来实现循环遍历数据并进行数据清洗操作。以下是一个使用存储过程和游标进行数据清洗的示例:创建一个存储过程:DELIMITER //CREATE PROCEDURE clean_data()BEGINDE
MySQL中怎么使用LOOP循环进行数据清洗
2024-04-30

MySQL中怎么利用循环进行批量数据校验

在MySQL中,可以通过使用存储过程结合循环来进行批量数据校验。下面是一个示例:假设有一个表users,其中有一个字段age表示用户年龄,需要对年龄进行校验,年龄不能小于18岁。首先创建一个存储过程来进行数据校验:DELIMITER
MySQL中怎么利用循环进行批量数据校验
2024-04-30

MySQL中怎么使用循环进行批量数据归档

在MySQL中,可以使用存储过程来实现循环进行批量数据归档。下面是一个示例存储过程,用于将数据从一个表归档到另一个表:DELIMITER //CREATE PROCEDURE archive_data()BEGINDECLARE don
MySQL中怎么使用循环进行批量数据归档
2024-04-30

怎么在Python中利用for循环对字典进行迭代

今天就跟大家聊聊有关怎么在Python中利用for循环对字典进行迭代,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开
2023-06-14

r语言中怎么进行条件判断和循环控制

在R语言中,可以使用if语句进行条件判断,使用for循环、while循环、repeat循环等语句进行循环控制。使用if语句进行条件判断:x 5) {print("x大于5")} else {print("x小于
r语言中怎么进行条件判断和循环控制
2024-03-02

通过shell脚本怎么循环进入目录执行命令

通过shell脚本怎么循环进入目录执行命令?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。相对应的目录结构如下;laravel框架的目录结构为:/webserver/aaa/ww
2023-06-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录