亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MyBatis傳入List集合查詢數(shù)據(jù)問題

 更新時間:2023年02月07日 16:17:22   作者:single_cong  
這篇文章主要介紹了MyBatis傳入List集合查詢數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MyBatis傳入List集合查詢數(shù)據(jù)

使用的是SSM框架,數(shù)據(jù)庫是MySQL,做查詢的時候傳入List集合,使用SQL語句的in方式查詢數(shù)據(jù)

主要有兩點問題

我的List集合是利用的另外一個語句查詢出來的,傳入?yún)?shù)是int類型,返回值是int類型的List集合:

List<Integer> select(Integer id);
<select id="select" resultType="java.util.List"
?? ?parameterType="java.lang.Integer">
?? ?select id
?? ?from section
?? ?where status='A'
?? ?and unit_id=#{id,jdbcType=INTEGER}
</select>

這是我第一次的時候使用的返回值類型(java.util.List),這種情況下在我執(zhí)行的時候會報錯:java.lang.UnsupportedOperationException

其實這里如果我們是要返回指定類型的集合直接寫java.lang.Integer(int類型)java.lang.String(字符串)等等就可以了,當然也可以自定義一個resultMap

<select id="select" resultType="java.lang.Integer"
?? ?parameterType="java.lang.Integer">
?? ?select id
?? ?from section
?? ?where status='A'
?? ?and unit_id=#{id,jdbcType=INTEGER}
</select>

上面是通過一個id查詢出List集合,下面是將查到的這個List集合放入查詢條件中:

List<Test> selectById(List<Integer> id);
<select id="selectById" parameterType="java.util.List"
?? ?resultMap="BaseResultMap">
?? ?select * from test
?? ?where status = 'A'
?? ?and id in
?? ?<foreach collection="list" index="index" item="item" open="("
?? ??? ?separator="," close=")">
?? ??? ?#{item}
?? ?</foreach>
</select>

上述的查詢語句可以整合在一個sql語句中,這里為了創(chuàng)造list數(shù)據(jù)所以分開了。

使用foreach 語句循環(huán)集合中的數(shù)據(jù),item就是循環(huán)到的數(shù)據(jù),如果你是一個復雜類型的數(shù)據(jù)做批量插入的話可以使用item.屬性名 的方式獲取對應值,類似于java的foreach循環(huán)語句,某些時候可能傳入的是Array數(shù)組,畢竟都說Array比List效率高,這種時候和上述方法類似,也是foreach語句。具體的分析后續(xù)更新。

MyBatis傳入List集合批量刪除

Model

public class FastDFSModel {
? ? private String pathId;
? ? private String modelId;
? ? private String csvpath;
? ? private String resultpath;
? ? private String updatetime;
? ? }

Dao

import org.apache.ibatis.annotations.Param;
?void deleteDateById(@Param("list") List<FastDFSModel> deleteList);

mapper

其中parameterType寫為list

foreach 中的collection寫為"list"

item 為遍歷的每一項,代表著model

在變量中用#{item.pathId}來獲取值

此業(yè)務為通過id進行刪除

其中open="(" separator="," close=")"為拼接的in查詢,把id用逗號拼接起來

?<delete id="deleteDateById" parameterType="java.util.List">
? ? ? ? delete from T_FASTDFS_PATH t where t.path_id in
? ? ? ? <foreach item="item" collection="list" open="(" separator="," close=")">
? ? ? ? ? ? #{item.pathId,jdbcType=VARCHAR}
? ? ? ? </foreach>
? ? </delete>

控制臺打印如下

delete from T_FASTDFS_PATH t where t.path_id in ( ? , ? , ? ) 
 PreparedStatement - ==> Parameters: 2(String), 1(String), 3(String)

總結(jié)

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

相關文章

  • Java中的==使用方法詳解

    Java中的==使用方法詳解

    這篇文章主要給大家介紹了關于Java中的==使用方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-09-09
  • Springboot集成Elasticsearch的步驟與相關功能

    Springboot集成Elasticsearch的步驟與相關功能

    ElasticSearch是開源搜索平臺領域的一個新成員,?ElasticSearch是一個基于Lucene構(gòu)建的開源,分布式,RESTful搜索引擎,這篇文章主要給大家介紹了關于Springboot集成Elasticsearch的相關資料,需要的朋友可以參考下
    2021-12-12
  • springboot中引入日志文件生成的配置詳解

    springboot中引入日志文件生成的配置詳解

    本文主要介紹了springboot中引入日志文件生成的配置詳解,包括日志級別的設置、日志格式的配置以及日志輸出的位置等,從而幫助開發(fā)者更好地進行開發(fā)與調(diào)試
    2023-10-10
  • Java微服務分布式調(diào)度Elastic-job環(huán)境搭建及配置

    Java微服務分布式調(diào)度Elastic-job環(huán)境搭建及配置

    Elastic-Job在配置中提供了JobEventConfiguration,支持數(shù)據(jù)庫方式配置,會在數(shù)據(jù)庫中自動創(chuàng)建JOB_EXECUTION_LOG和JOB_STATUS_TRACE_LOG兩張表以及若干索引,來記錄作業(yè)的相關信息
    2023-02-02
  • Mybatis 動態(tài)sql的編寫與開啟二級緩存

    Mybatis 動態(tài)sql的編寫與開啟二級緩存

    二級緩存是Mapper級別的緩存,多個SqlSession去操作同一個Mapper中的SQL語句,則這些SqlSession可以共享二級緩存,即二級緩存是跨SqlSession的,這篇文章主要介紹了Mybatis 動態(tài)sql的編寫|開啟二級緩存,需要的朋友可以參考下
    2023-02-02
  • SpringBoot前后端分離項目之打包、部署到服務器詳細圖文流程

    SpringBoot前后端分離項目之打包、部署到服務器詳細圖文流程

    作為后臺開發(fā),項目打包部署是經(jīng)常性的操作,下面這篇文章主要給大家介紹了關于SpringBoot前后端分離項目之打包、部署到服務器的相關資料,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • 快速理解Java垃圾回收和jvm中的stw

    快速理解Java垃圾回收和jvm中的stw

    這篇文章主要介紹了快速理解Java垃圾回收和jvm中的stw,涉及Java代碼的停頓,jvm中的線程等相關內(nèi)容,還是十分不錯的,需要的朋友可以參考。
    2017-10-10
  • java多線程詳細總結(jié)

    java多線程詳細總結(jié)

    以下小編就對java中的多線程進行了詳細的總結(jié)分析,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-10-10
  • SpringBoot掃描不到Controller的解決方案

    SpringBoot掃描不到Controller的解決方案

    這篇文章主要介紹了SpringBoot掃描不到Controller的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • spring-boot集成spring-security的oauth2實現(xiàn)github登錄網(wǎng)站的示例

    spring-boot集成spring-security的oauth2實現(xiàn)github登錄網(wǎng)站的示例

    本篇文章主要介紹了spring-boot集成spring-security的oauth2實現(xiàn)github登錄網(wǎng)站的示例,非常具有實用價值,需要的朋友可以參考下
    2017-10-10

最新評論