最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis如何進行雙重foreach循環(huán)

 更新時間:2022年02月08日 11:14:29   作者:harden_no1  
這篇文章主要介紹了MyBatis如何進行雙重foreach循環(huán),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

進行雙重foreach循環(huán)

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>

使用場景

比如說一個付款人下面對應(yīng)的運單的金額,那么key1就是付款人編號,key2是運單編號,value2是分?jǐn)偟慕痤~ 

mybatis foreach循環(huán),傳入多個參數(shù)

上代碼

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

/**
? ? ?* 描述:根據(jù)工種查詢列表
? ? ?* @param jobCategorys
? ? ?* @return
? ? ?*/
? ? 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>

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java的Character類詳解

    Java的Character類詳解

    在實際開發(fā)過程中,我們經(jīng)常會遇到需要使用對象,而不是內(nèi)置數(shù)據(jù)類型的情況。為了解決這個問題,Java語言為內(nèi)置數(shù)據(jù)類型char提供了包裝類Character類。本文詳細(xì)介紹了Java的Character類,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • Servlet實現(xiàn)代理文件下載功能

    Servlet實現(xiàn)代理文件下載功能

    這篇文章主要為大家詳細(xì)介紹了Servlet實現(xiàn)代理文件下載功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Jpa中Specification的求和sum不生效原理分析

    Jpa中Specification的求和sum不生效原理分析

    這篇文章主要為大家介紹了Jpa中Specification的求和sum不生效原理示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • MybatisGenerator文件生成不出對應(yīng)文件的問題

    MybatisGenerator文件生成不出對應(yīng)文件的問題

    本文介紹了使用MybatisGenerator生成文件時遇到的問題及解決方法,主要步驟包括檢查目標(biāo)表是否存在、是否能連接到數(shù)據(jù)庫、配置生成器的路徑等,通過在項目結(jié)構(gòu)中引入相應(yīng)的jar包,并在GeneratorSqlmap.java文件中運行,可以成功生成對應(yīng)的文件
    2025-01-01
  • Eclipse項目有紅感嘆號的解決方法

    Eclipse項目有紅感嘆號的解決方法

    這篇文章主要為大家詳細(xì)介紹了Eclipse項目有紅感嘆號的解決方法,給出了Eclipse項目有紅感嘆號的原因,以及如何解決?,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • MybatisPlus之時間處理問題

    MybatisPlus之時間處理問題

    在數(shù)據(jù)庫設(shè)計時,阿里巴巴編碼規(guī)約建議使用gmt_create和gmt_modified命名時間字段,并設(shè)置為datetime類型,本文介紹了兩種自動填充時間字段的實現(xiàn)方式:SQL級別和代碼級別(使用MyBatis?Plus),SQL級別通過設(shè)置默認(rèn)值和更新值為CURRENT_TIMESTAMP
    2024-09-09
  • 關(guān)于Elasticsearch封裝公共索引增刪改查

    關(guān)于Elasticsearch封裝公共索引增刪改查

    索引是Elasticsearch中存儲數(shù)據(jù)的邏輯單元,類似于關(guān)系數(shù)據(jù)庫中的表,它包含多個文檔,每個文檔都是一個結(jié)構(gòu)化的JSON數(shù)據(jù)格式,在實際應(yīng)用中,索引的使用與配置可以依據(jù)不同的方案進行,例如在Spring Boot項目中,可以選擇自動配置或者手動編寫配置類
    2024-10-10
  • Java多線程下載網(wǎng)圖的完整案例

    Java多線程下載網(wǎng)圖的完整案例

    這篇文章主要給大家介紹了關(guān)于Java多線程下載網(wǎng)圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • java實現(xiàn)文件切片和合并的代碼示例

    java實現(xiàn)文件切片和合并的代碼示例

    這篇文章主要介紹了java實現(xiàn)文件切片和合并的代碼示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Spring Cloud Gateway的配置與使用教程

    Spring Cloud Gateway的配置與使用教程

    這篇文章主要介紹了Spring Cloud Gateway的配置與使用,通過本文的介紹,我們了解了Spring Cloud Gateway的核心概念和基本配置,需要的朋友可以參考下
    2023-06-06

最新評論

苍南县| 泰安市| 策勒县| 柘城县| 普宁市| 高清| 堆龙德庆县| 湄潭县| 修文县| 台前县| 南川市| 安远县| 景东| 垣曲县| 鄯善县| 伽师县| 白水县| 英山县| 周宁县| 乌苏市| 丘北县| 辽阳市| 康定县| 河津市| 望都县| 巩义市| 建平县| 盐亭县| 微博| 南安市| 洪洞县| 安仁县| 阿城市| 子洲县| 阳城县| 大田县| 水城县| 定边县| 天气| 新沂市| 莱西市|