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

mybatis中使用list作為參數(shù)方式

 更新時(shí)間:2026年01月07日 09:27:08   作者:HRX98  
在使用MyBatis時(shí),若要在Mapper XML中使用List作為參數(shù),并且collection屬性值類(lèi)型為L(zhǎng)ist,需要注意傳入的參數(shù)為L(zhǎng)ist時(shí)不能使用lists!=null進(jìn)行判斷

mybatis中使用list作為參數(shù)

collection屬性值類(lèi)型為L(zhǎng)ist

dao

@Override
    public Integer timeAnalyse(String customerId, LocalDateTime firstDay, LocalDateTime lastDay, String metric ,Integer type) {
        List<String> list = this.getMetrics(metric);
        return baseMapper.countByTime(customerId, firstDay, lastDay, list, type);
    }

    /**
     * 獲取指標(biāo)列表
     * @param metric 指標(biāo)大類(lèi)名稱(chēng)
     * @return 指標(biāo)列表
     */
    private List<String> getMetrics(String metric) {
        List<String> list = new ArrayList<>();
        if (metric.equals(HealthRecordConstant.METRIC_TYPE_WEIGHT)) {
            list.add(HealthRecordConstant.METRIC_TYPE_WEIGHT);
            list.add(HealthRecordConstant.METRIC_TYPE_BMI);
        } else if (metric.equals(HealthRecordConstant.METRIC_TYPE_BLOODPRESSURE)) {
            list.add(HealthRecordConstant.METRIC_TYPE_DIASTOLICPRESSURE);
            list.add(HealthRecordConstant.METRIC_TYPE_HEARTPATEOFBP);
            list.add(HealthRecordConstant.METRIC_TYPE_SYSTOLICPRESSURE);
        } else {
            list.add(HealthRecordConstant.METRIC_TYPE_BGAFTERBREAKFAST);
            list.add(HealthRecordConstant.METRIC_TYPE_BGAFTERDINNER);
            list.add(HealthRecordConstant.METRIC_TYPE_BGAFTERLUNCH);
            list.add(HealthRecordConstant.METRIC_TYPE_BGBEFOREBEDTIME);
            list.add(HealthRecordConstant.METRIC_TYPE_BGBEFOREDAWN);
            list.add(HealthRecordConstant.METRIC_TYPE_BGBEFOREDINNER);
            list.add(HealthRecordConstant.METRIC_TYPE_BGBEFORELUNCH);
            list.add(HealthRecordConstant.METRIC_TYPE_FASTINGBLOODGLUCOSE);
        }
        return list;
    }

mapper

Integer countByTime(@Param("customerId") String customerId,
                     @Param("firstDay") LocalDateTime firstDay,
                     @Param("lastDay") LocalDateTime lastDay,
                     @Param("metrics") List<String> metrics,
                     @Param("type") Integer type);

xml

 <select id="countByTime" resultType="Integer">
        SELECT
            COUNT(*)
        from
            customer_body_metrics
        WHERE
        <if test="type == 0">
            HOUR(create_time) BETWEEN 0 and 8
        </if>
        <if test="type == 1">
            HOUR(create_time) BETWEEN 8 and 16
        </if>
        <if test="type == 2">
            HOUR(create_time) BETWEEN 16 and 24
        </if>

        and
            customer_id = #{customerId}
        and
            create_time > #{firstDay}
        and
            #{lastDay} > create_time
        <if test="metrics.size()>0">
        and
            metric IN
            <foreach collection="metrics" item="value" index="index"  open="(" close=")" separator=",">
                #{value}
            </foreach>
        </if>

    </select>

注意

傳入?yún)?shù)為L(zhǎng)ist不能用lists != ‘’ 判斷

總結(jié)

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

相關(guān)文章

  • 簡(jiǎn)單了解JAVA變量類(lèi)型及代碼實(shí)例

    簡(jiǎn)單了解JAVA變量類(lèi)型及代碼實(shí)例

    這篇文章主要介紹了簡(jiǎn)單了解JAVA變量類(lèi)型及代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • jackson 實(shí)現(xiàn)null轉(zhuǎn)0 以及0轉(zhuǎn)null的示例代碼

    jackson 實(shí)現(xiàn)null轉(zhuǎn)0 以及0轉(zhuǎn)null的示例代碼

    這篇文章主要介紹了jackson 實(shí)現(xiàn)null轉(zhuǎn)0 以及0轉(zhuǎn)null的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • SpringBoot使用iText7實(shí)現(xiàn)將HTML轉(zhuǎn)成PDF并添加頁(yè)眉頁(yè)腳水印

    SpringBoot使用iText7實(shí)現(xiàn)將HTML轉(zhuǎn)成PDF并添加頁(yè)眉頁(yè)腳水印

    這篇文章主要為大家詳細(xì)介紹了SpringBoot使用iText7實(shí)現(xiàn)將HTML轉(zhuǎn)成PDF并添加頁(yè)眉頁(yè)腳水印的相關(guān)知識(shí),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • SpringBoot+WebSocket+Netty實(shí)現(xiàn)消息推送的示例代碼

    SpringBoot+WebSocket+Netty實(shí)現(xiàn)消息推送的示例代碼

    這篇文章主要介紹了SpringBoot+WebSocket+Netty實(shí)現(xiàn)消息推送的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • redis分布式鎖的實(shí)現(xiàn)原理詳解

    redis分布式鎖的實(shí)現(xiàn)原理詳解

    這篇文章主要為大家詳細(xì)介紹了redis分布式鎖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • java實(shí)現(xiàn)單鏈表倒轉(zhuǎn)的方法

    java實(shí)現(xiàn)單鏈表倒轉(zhuǎn)的方法

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)單鏈表倒轉(zhuǎn)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • JAVA(SpringBoot)集成Jasypt進(jìn)行加密、解密功能

    JAVA(SpringBoot)集成Jasypt進(jìn)行加密、解密功能

    Jasypt是一個(gè)Java庫(kù),專(zhuān)門(mén)用于簡(jiǎn)化加密和解密操作,提供多種加密算法支持,集成到SpringBoot等框架中,通過(guò)使用Jasypt,可以有效保護(hù)配置文件中的敏感信息,如數(shù)據(jù)庫(kù)密碼等,避免被未授權(quán)訪問(wèn),Jasypt還支持自定義加密器,提高擴(kuò)展性和安全性,適用于各種需要加密保護(hù)應(yīng)用場(chǎng)景
    2024-09-09
  • Java通過(guò)在主循環(huán)中判斷Boolean來(lái)停止線程的方法示例

    Java通過(guò)在主循環(huán)中判斷Boolean來(lái)停止線程的方法示例

    這篇文章主要介紹了Java通過(guò)在主循環(huán)中判斷Boolean來(lái)停止線程的方法,結(jié)合具體實(shí)例形式分析了java針對(duì)線程的判斷與停止操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-04-04
  • 一篇文章帶你理解Java的SPI機(jī)制(圖文并茂)

    一篇文章帶你理解Java的SPI機(jī)制(圖文并茂)

    本文詳細(xì)介紹了Java的SPI機(jī)制,包括其定義、用途和實(shí)現(xiàn)方式,SPI(ServiceProviderInterface)是一種服務(wù)發(fā)現(xiàn)機(jī)制,用于實(shí)現(xiàn)框架或庫(kù)的擴(kuò)展點(diǎn),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • 如何用java生成指定范圍的隨機(jī)數(shù)

    如何用java生成指定范圍的隨機(jī)數(shù)

    以生成[10,20]隨機(jī)數(shù)為例,首先生成0-20的隨機(jī)數(shù),然后對(duì)(20-10+1)取模得到[0-10]之間的隨機(jī)數(shù),然后加上min=10,最后生成的是10-20的隨機(jī)數(shù)
    2013-09-09

最新評(píng)論

水富县| 康平县| 云林县| 灵川县| 威信县| 德庆县| 东台市| 囊谦县| 绥德县| 彭山县| 碌曲县| 盘山县| 顺义区| 涪陵区| 改则县| 临泉县| 万山特区| 乌兰察布市| 阿拉善盟| 基隆市| 邹城市| 长治市| 改则县| 邻水| 新化县| 花垣县| 宝清县| 额济纳旗| 义乌市| 房山区| 宜宾县| 连平县| 临武县| 哈尔滨市| 晋州市| 永胜县| 合川市| 福海县| 饶河县| 育儿| 罗平县|