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

mybatis條件語句中帶數(shù)組參數(shù)的處理

 更新時間:2021年09月11日 09:34:26   作者:luffy5459  
這篇文章主要介紹了mybatis條件語句中帶數(shù)組參數(shù)的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mybatis條件語句中帶數(shù)組參數(shù)

如題,在mybatis編寫sql語句的時候,可能會遇到in這樣的關鍵字,我們知道in后面需要接上('a','b','c')這樣的一個結(jié)構(gòu)。它像一個數(shù)組,但是是用括號()包裹的,參數(shù)之間還有逗號隔開。

這里因為數(shù)組參數(shù)是變量,直接通過拼接的方式不可行。

這里需要一個標簽foreach,標簽可以有item,collection,open,close,separator等屬性,分別表示變量,變量集合,開始符號,結(jié)束符號,分隔符。

這里給出一個示例

定義返回對象

<resultMap type="com.xxx.springmybatis.domain.User" id="UserResult">
  <id column="id" jdbcType="BIGINT" property="id"/>
  <result column="name" jdbcType="VARCHAR" property="name"/>
  <result column="email" jdbcType="VARCHAR" property="email"/>
</resultMap>

編寫sql語句

<select id="findByIds" resultMap="UserResult" parameterType="list">
     select * from users
     where id in
     <foreach collection="list" item="id" open="(" close=")" separator=",">
      #{id,jdbcType=BIGINT}
     </foreach>
</select>

定義dao方法:

package com.xxx.springmybatis.dao;
import java.util.List;
import com.xxx.springmybatis.domain.User;
public interface UserMapper {
    User getById(Integer id);
    User getByName(String name);
    void save(User user);    
    List<User> findByIds(List<Integer> ids);
}

以上的示例,是通過id數(shù)組來查詢對應的用戶集合。我們傳入的用戶ID,最終在sql中會通過拼接的方式組成where id in (3,4)的條件。

如下所示,如果要查詢id為3,4的用戶,那么打印的sql語句可以看出拼接的樣子:

這里有必要說明的是foreach標簽中的collection屬性

1、List集合,默認使用list代表入?yún)?,?shù)組,默認使用array作為入?yún)ⅰ?/p>

2、如果傳入的參數(shù)是一個對象,對象User有個屬性List ids,那么就使用ids作為入?yún)ⅰ?/p>

3、如果接口聲明的地方通過注解@Param("xx")指定了入?yún)ⅲ敲磍ist,array這種默認的參數(shù)就失效,這時候需要指定xx為入?yún)ⅰ?/p>

本例中因為使用的是List集合傳入,所以默認就使用了list作為collection入?yún)⒌逆I。

mybatis多參數(shù)傳遞(其中包括數(shù)組)

mapper接口

public void batchDelete(@Param(value = "activityId") Integer activityId, @Param(value = "userIds") Integer[] userIds);

mapper.xml的配置

<insert id="batchDelete">
     delete from T_ACT_USERS where ACTIVITY_ID = #{activityId}
     and USER_ID in
     <foreach collection="userIds" item="item" index="index" open="(" separator="," close=")">
            #{item}
     </foreach>
</insert>

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

相關文章

  • 如何安裝java的運行環(huán)境IDEA

    如何安裝java的運行環(huán)境IDEA

    這篇文章主要介紹了如何安裝java的運行環(huán)境IDEA,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Springboot實現(xiàn)自定義錯誤頁面的方法(錯誤處理機制)

    Springboot實現(xiàn)自定義錯誤頁面的方法(錯誤處理機制)

    這篇文章主要介紹了Springboot實現(xiàn)自定義錯誤頁面的方法(錯誤處理機制),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java安全-ClassLoader

    Java安全-ClassLoader

    這篇文章主要介紹了Java安全ClassLoader,Java類初始化的時候會調(diào)用java.lang.ClassLoader加載字節(jié)碼,ClassLoader就是用來動態(tài)加載class文件到內(nèi)存當中用的,下面詳細內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01
  • springboot+vue實現(xiàn)SSE服務器發(fā)送事件的示例

    springboot+vue實現(xiàn)SSE服務器發(fā)送事件的示例

    本文介紹了使用Spring Boot和Vue實現(xiàn)服務器發(fā)送事件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • java常用工具類 IP、File文件工具類

    java常用工具類 IP、File文件工具類

    這篇文章主要為大家詳細介紹了java常用工具類,包括IP、File文件工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • RocketMQ消息過濾與查詢的實現(xiàn)

    RocketMQ消息過濾與查詢的實現(xiàn)

    這篇文章主要介紹了RocketMQ消息過濾與查詢的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 淺談java中的對象、類、與方法的重載

    淺談java中的對象、類、與方法的重載

    本文主要對java中的對象、類、與方法的重載進行簡要概述,具有一定的參考價值,需要的朋友一起來看下吧
    2016-12-12
  • SpringMVC上傳圖片與訪問

    SpringMVC上傳圖片與訪問

    這篇文章主要介紹了SpringMVC上傳圖片與訪問的相關資料,需要的朋友可以參考下
    2016-01-01
  • 完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題

    完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題

    這篇文章主要介紹了完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Java實現(xiàn)一個簡單的長輪詢的示例代碼

    Java實現(xiàn)一個簡單的長輪詢的示例代碼

    長輪詢是與服務器保持即時通信的最簡單的方式,它不使用任何特定的協(xié)議,例如 WebSocket ,所以也不依賴于瀏覽器版本等外部條件的兼容性。本文將用Java實現(xiàn)一個簡單的長輪詢,需要的可以參考一下
    2022-08-08

最新評論

肥城市| 肇东市| 怀柔区| 景东| 常宁市| 博客| 曲沃县| 钦州市| 渭南市| 英超| 开鲁县| 沁源县| 林西县| 成安县| 和平区| 普定县| 灵宝市| 宣汉县| 江油市| 中超| 渝中区| 乌海市| 宣汉县| 诸城市| 手游| 西吉县| 夹江县| 通海县| 武平县| 司法| 云霄县| 那坡县| 台南市| 鄱阳县| 富平县| 乡宁县| 井冈山市| 赤城县| 邳州市| 达孜县| 淮北市|