中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做論壇網(wǎng)站4g空間夠不夠用自己搭建網(wǎng)站需要什么

做論壇網(wǎng)站4g空間夠不夠用,自己搭建網(wǎng)站需要什么,怎樣創(chuàng)建一個(gè)網(wǎng)站,好的網(wǎng)站怎么設(shè)計(jì)文章目錄 前言一、使用步驟1.引入 SimpleQuery 工具類2.使用 SimpleQuery 進(jìn)行查詢 二、使用提示三、功能詳解1. keyMap1.1 方法簽名1.2 參數(shù)說明1.3 使用示例1.4 使用提示 2. map2.1 方法簽名2.2 參數(shù)說明2.3 使用示例2.4 使用提示 3. group3.1 方法簽名3.2 參數(shù)說明3.3 使用示…

文章目錄

  • 前言
  • 一、使用步驟
    • 1.引入 SimpleQuery 工具類
    • 2.使用 SimpleQuery 進(jìn)行查詢
  • 二、使用提示
  • 三、功能詳解
    • 1. keyMap
      • 1.1 方法簽名
      • 1.2 參數(shù)說明
      • 1.3 使用示例
      • 1.4 使用提示
    • 2. map
      • 2.1 方法簽名
      • 2.2 參數(shù)說明
      • 2.3 使用示例
      • 2.4 使用提示
    • 3. group
      • 3.1 方法簽名
      • 3.2 參數(shù)說明
      • 3.3 使用示例
      • 3.4 使用提示
    • 4. list
      • 4.1 方法簽名
      • 4.2 參數(shù)說明
      • 4.3 使用示例
      • 4.4 使用提示
  • 總結(jié)


前言

SimpleQuery 是 Mybatis-Plus 提供的一個(gè)工具類,它對(duì) selectList 查詢后的結(jié)果進(jìn)行了封裝,使其可以通過 Stream 流的方式進(jìn)行處理,從而簡(jiǎn)化了API的調(diào)用。

SimpleQuery 的一個(gè)特點(diǎn)是它的 peeks 參數(shù),這是一個(gè)可變參數(shù),類型為 Consumer…,意味著你可以連續(xù)添加多個(gè)操作,這些操作會(huì)在查詢結(jié)果被處理時(shí)依次執(zhí)行。

SimpleQuery 的使用方式可以參考官方測(cè)試用例。

使用 SimpleQuery 前,需要確保項(xiàng)目中已注入對(duì)應(yīng)實(shí)體的 BaseMapper。


一、使用步驟

1.引入 SimpleQuery 工具類

import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.core.toolkit.support.SerializedLambda;
import com.baomidou.mybatisplus.extension.toolkit.SimpleQuery;

新版SimpleQuery遷移至toolkit包路徑下

2.使用 SimpleQuery 進(jìn)行查詢

// 假設(shè)有一個(gè) User 實(shí)體類和對(duì)應(yīng)的 BaseMapper
List<Long> ids = SimpleQuery.list(Wrappers.lambdaQuery(User.class), // 使用 lambda 查詢構(gòu)建器User::getId, // 提取的字段,這里是 User 的 idSystem.out::println, // 第一個(gè) peek 操作,打印每個(gè)用戶user -> userNames.add(user.getName()) // 第二個(gè) peek 操作,將每個(gè)用戶的名字添加到 userNames 列表中
);

二、使用提示

  • SimpleQuery 工具類提供了一種簡(jiǎn)潔的方式來處理查詢結(jié)果,它允許你在查詢結(jié)果上應(yīng)用多個(gè)操作,這些操作會(huì)按照添加的順序依次執(zhí)行。
  • 在使用 SimpleQuery 時(shí),你需要提供一個(gè)查詢構(gòu)建器(如 Wrappers.lambdaQuery()),一個(gè)用于提取結(jié)果的字段(如 User::getId),以及一個(gè)或多個(gè) Consumer 類型的 peek 操作。
  • peek 操作可以用于執(zhí)行任何副作用操作,如打印日志、更新緩存、發(fā)送通知等,而不會(huì)影響查詢結(jié)果本身。
  • SimpleQuery 返回的結(jié)果是一個(gè)列表,包含了所有查詢到的實(shí)體對(duì)象,這些對(duì)象已經(jīng)應(yīng)用了所有的 peek 操作。
  • 通過使用 SimpleQuery,你可以將查詢和結(jié)果處理邏輯分離,使代碼更加清晰和易于維護(hù)。

通過使用 SimpleQuery 工具類,開發(fā)者可以更加高效地處理查詢結(jié)果,同時(shí)保持代碼的簡(jiǎn)潔性和可讀性。這種工具類尤其適合于需要對(duì)查詢結(jié)果進(jìn)行復(fù)雜處理的場(chǎng)景。

三、功能詳解

1. keyMap

SimpleQuery 的 keyMap 方法提供了一種便捷的方式來查詢數(shù)據(jù)庫(kù),并將查詢結(jié)果封裝成一個(gè)Map,其中實(shí)體的某個(gè)屬性作為鍵(key),實(shí)體本身作為值(value)。這個(gè)方法還支持在處理查詢結(jié)果時(shí)執(zhí)行額外的副作用操作,如打印日志或更新緩存。

1.1 方法簽名

// 查詢表內(nèi)記錄,封裝返回為 Map<屬性,實(shí)體>
Map<A, E> keyMap(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, Consumer<E>... peeks);// 查詢表內(nèi)記錄,封裝返回為 Map<屬性,實(shí)體>,考慮了并行流的情況
Map<A, E> keyMap(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, boolean isParallel, Consumer<E>... peeks);

1.2 參數(shù)說明

類型參數(shù)名描述
Eentity實(shí)體對(duì)象類型,即查詢結(jié)果的實(shí)體類型。
Aattribute實(shí)體屬性類型,也是返回的 Map 中鍵(key)的類型。
LambdaQueryWrapperwrapper支持 lambda 表達(dá)式的條件構(gòu)造器,用于構(gòu)建查詢條件。
SFunction<E, A>sFunction實(shí)體中屬性的 getter 方法引用,用于確定 Map 中鍵(key)的值。
booleanisParallel如果設(shè)置為 true,則底層使用并行流執(zhí)行查詢,可以提高處理大量數(shù)據(jù)時(shí)的效率。
Consumer…peeks可變參數(shù),用于指定在處理查詢結(jié)果時(shí)執(zhí)行的額外操作,如打印日志、更新緩存等。

1.3 使用示例

// 假設(shè)有一個(gè) User 實(shí)體類和對(duì)應(yīng)的 BaseMapper
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getStatus, "active"); // 查詢狀態(tài)為 "active" 的用戶// 使用 keyMap 方法查詢并封裝結(jié)果
Map<String, User> userMap = SimpleQuery.keyMap(queryWrapper, // 查詢條件構(gòu)造器User::getUsername, // 使用用戶名作為鍵user -> System.out.println("Processing user: " + user.getUsername()) // 打印處理的用戶名
);// 遍歷結(jié)果
for (Map.Entry<String, User> entry : userMap.entrySet()) {System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}

1.4 使用提示

  • keyMap 方法適用于需要根據(jù)實(shí)體的某個(gè)屬性快速查找實(shí)體的場(chǎng)景。
  • 通過 sFunction 參數(shù),你可以指定任何實(shí)體屬性作為 Map 的鍵,這使得查詢結(jié)果的訪問更加直觀和高效。
  • peeks 參數(shù)允許你在處理查詢結(jié)果時(shí)執(zhí)行額外的副作用操作,這些操作不會(huì)影響最終的 Map 結(jié)果。
  • 當(dāng)處理大量數(shù)據(jù)時(shí),可以考慮將 isParallel 參數(shù)設(shè)置為 true 以啟用并行流,從而提高查詢效率。

通過使用 SimpleQuery 的 keyMap 方法,開發(fā)者可以更加高效地處理查詢結(jié)果,并將其封裝成易于使用的數(shù)據(jù)結(jié)構(gòu),同時(shí)還可以執(zhí)行額外的副作用操作,使代碼更加簡(jiǎn)潔和靈活。

2. map

SimpleQuery 的 map 方法提供了一種便捷的方式來查詢數(shù)據(jù)庫(kù),并將查詢結(jié)果封裝成一個(gè) Map,其中實(shí)體的某個(gè)屬性作為鍵(key),另一個(gè)屬性作為值(value)。這個(gè)方法還支持在處理查詢結(jié)果時(shí)執(zhí)行額外的副作用操作,如打印日志或更新緩存。

2.1 方法簽名

// 查詢表內(nèi)記錄,封裝返回為 Map<屬性,屬性>
Map<A, P> map(LambdaQueryWrapper<E> wrapper, SFunction<E, A> keyFunc, SFunction<E, P> valueFunc, Consumer<E>... peeks);// 查詢表內(nèi)記錄,封裝返回為 Map<屬性,屬性>,考慮了并行流的情況
Map<A, P> map(LambdaQueryWrapper<E> wrapper, SFunction<E, A> keyFunc, SFunction<E, P> valueFunc, boolean isParallel, Consumer<E>... peeks);

2.2 參數(shù)說明

類型參數(shù)名描述
Eentity實(shí)體對(duì)象類型,即查詢結(jié)果的實(shí)體類型。
Aattribute實(shí)體屬性類型,作為返回的 Map 中鍵(key)的類型。
Pattribute實(shí)體屬性類型,作為返回的 Map 中值(value)的類型。
LambdaQueryWrapperwrapper支持 lambda 表達(dá)式的條件構(gòu)造器,用于構(gòu)建查詢條件。
SFunction<E, A>keyFunc實(shí)體中屬性的 getter 方法引用,用于確定 Map 中鍵(key)的值。
SFunction<E, P>valueFunc實(shí)體中屬性的 getter 方法引用,用于確定 Map 中值(value)的值。
booleanisParallel如果設(shè)置為 true,則底層使用并行流執(zhí)行查詢,可以提高處理大量數(shù)據(jù)時(shí)的效率。
Consumer…peeks可變參數(shù),用于指定在處理查詢結(jié)果時(shí)執(zhí)行的額外操作,如打印日志、更新緩存等。

2.3 使用示例

// 假設(shè)有一個(gè) User 實(shí)體類和對(duì)應(yīng)的 BaseMapper
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getStatus, "active"); // 查詢狀態(tài)為 "active" 的用戶// 使用 map 方法查詢并封裝結(jié)果
Map<String, Integer> userMap = SimpleQuery.map(queryWrapper, // 查詢條件構(gòu)造器User::getUsername, // 使用用戶名作為鍵User::getAge, // 使用年齡作為值user -> System.out.println("Processing user: " + user.getUsername()) // 打印處理的用戶名
);// 遍歷結(jié)果
for (Map.Entry<String, Integer> entry : userMap.entrySet()) {System.out.println("Username: " + entry.getKey() + ", Age: " + entry.getValue());
}

2.4 使用提示

  • map 方法適用于需要根據(jù)實(shí)體的某個(gè)屬性快速查找另一個(gè)屬性的場(chǎng)景。
  • 通過 keyFuncvalueFunc 參數(shù),你可以指定任何實(shí)體屬性作為 Map 的鍵和值,這使得查詢結(jié)果的訪問更加直觀和高效。
  • peeks 參數(shù)允許你在處理查詢結(jié)果時(shí)執(zhí)行額外的副作用操作,這些操作不會(huì)影響最終的 Map 結(jié)果。
  • 當(dāng)處理大量數(shù)據(jù)時(shí),可以考慮將 isParallel 參數(shù)設(shè)置為 true 以啟用并行流,從而提高查詢效率。

通過使用 SimpleQuery 的 map 方法,開發(fā)者可以更加高效地處理查詢結(jié)果,并將其封裝成易于使用的數(shù)據(jù)結(jié)構(gòu),同時(shí)還可以執(zhí)行額外的副作用操作,使代碼更加簡(jiǎn)潔和靈活。

3. group

SimpleQuery 的 group 方法提供了一種便捷的方式來查詢數(shù)據(jù)庫(kù),并將查詢結(jié)果按照實(shí)體的某個(gè)屬性進(jìn)行分組,封裝成一個(gè) Map。這個(gè)方法還支持在處理查詢結(jié)果時(shí)執(zhí)行額外的副作用操作,如打印日志或更新緩存。此外,它還允許你使用 Collector 對(duì)分組后的集合進(jìn)行進(jìn)一步的處理。

3.1 方法簽名

// 查詢表內(nèi)記錄,封裝返回為 Map<屬性,List<實(shí)體>>
Map<K, List<T>> group(LambdaQueryWrapper<T> wrapper, SFunction<T, K> sFunction, Consumer<T>... peeks);// 查詢表內(nèi)記錄,封裝返回為 Map<屬性,List<實(shí)體>>,考慮了并行流的情況
Map<K, List<T>> group(LambdaQueryWrapper<T> wrapper, SFunction<T, K> sFunction, boolean isParallel, Consumer<T>... peeks);// 查詢表內(nèi)記錄,封裝返回為 Map<屬性,分組后對(duì)集合進(jìn)行的下游收集器>
M group(LambdaQueryWrapper<T> wrapper, SFunction<T, K> sFunction, Collector<? super T, A, D> downstream, Consumer<T>... peeks);// 查詢表內(nèi)記錄,封裝返回為 Map<屬性,分組后對(duì)集合進(jìn)行的下游收集器>,考慮了并行流的情況
M group(LambdaQueryWrapper<T> wrapper, SFunction<T, K> sFunction, Collector<? super T, A, D> downstream, boolean isParallel, Consumer<T>... peeks);

3.2 參數(shù)說明

類型參數(shù)名描述
Tentity實(shí)體對(duì)象類型,即查詢結(jié)果的實(shí)體類型。
Kattribute實(shí)體屬性類型,作為返回的 Map 中鍵(key)的類型。
D-下游收集器返回類型,作為 Map 中值(value)的類型。
A-下游操作中間類型,用于 Collector 的中間結(jié)果。
M-最終結(jié)束返回的 Map<K, D> 類型。
LambdaQueryWrapperwrapper支持 lambda 表達(dá)式的條件構(gòu)造器,用于構(gòu)建查詢條件。
SFunction<T, K>sFunction分組依據(jù),實(shí)體中屬性的 getter 方法引用,用于確定 Map 中鍵(key)的值。
Collector<T, A, D>downstream下游收集器,用于對(duì)分組后的集合進(jìn)行進(jìn)一步的處理。
booleanisParallel如果設(shè)置為 true,則底層使用并行流執(zhí)行查詢,可以提高處理大量數(shù)據(jù)時(shí)的效率。
Consumer…peeks可變參數(shù),用于指定在處理查詢結(jié)果時(shí)執(zhí)行的額外操作,如打印日志、更新緩存等。

3.3 使用示例

// 假設(shè)有一個(gè) User 實(shí)體類和對(duì)應(yīng)的 BaseMapper
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getStatus, "active"); // 查詢狀態(tài)為 "active" 的用戶// 使用 group 方法查詢并封裝結(jié)果,按照用戶名分組
Map<String, List<User>> userGroup = SimpleQuery.group(queryWrapper, // 查詢條件構(gòu)造器User::getUsername, // 使用用戶名作為分組鍵user -> System.out.println("Processing user: " + user.getUsername()) // 打印處理的用戶名
);// 遍歷結(jié)果
for (Map.Entry<String, List<User>> entry : userGroup.entrySet()) {System.out.println("Username: " + entry.getKey());for (User user : entry.getValue()) {System.out.println(" - User: " + user);}
}

3.4 使用提示

  • group 方法適用于需要根據(jù)實(shí)體的某個(gè)屬性對(duì)查詢結(jié)果進(jìn)行分組的場(chǎng)景。
  • 通過 sFunction 參數(shù),你可以指定任何實(shí)體屬性作為分組的依據(jù),這使得查詢結(jié)果的組織更加靈活。
  • downstream 參數(shù)允許你使用 Collector 對(duì)分組后的集合進(jìn)行進(jìn)一步的處理,如計(jì)數(shù)、求和、平均值等。
  • peeks 參數(shù)允許你在處理查詢結(jié)果時(shí)執(zhí)行額外的副作用操作,這些操作不會(huì)影響最終的 Map 結(jié)果。
  • 當(dāng)處理大量數(shù)據(jù)時(shí),可以考慮將 isParallel 參數(shù)設(shè)置為 true 以啟用并行流,從而提高查詢效率。

通過使用 SimpleQuery 的 group 方法,開發(fā)者可以更加高效地處理查詢結(jié)果,并將其按照特定屬性進(jìn)行分組,同時(shí)還可以執(zhí)行額外的副作用操作,使代碼更加簡(jiǎn)潔和靈活。

4. list

SimpleQuery 的 list 方法提供了一種便捷的方式來查詢數(shù)據(jù)庫(kù),并將查詢結(jié)果封裝成一個(gè) List,其中列表的元素是實(shí)體的某個(gè)屬性。這個(gè)方法還支持在處理查詢結(jié)果時(shí)執(zhí)行額外的副作用操作,如打印日志或更新緩存。

4.1 方法簽名

// 查詢表內(nèi)記錄,封裝返回為 List<屬性>
List<A> list(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, Consumer<E>... peeks);// 查詢表內(nèi)記錄,封裝返回為 List<屬性>,考慮了并行流的情況
List<A> list(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, boolean isParallel, Consumer<E>... peeks);

4.2 參數(shù)說明

類型參數(shù)名描述
Eentity實(shí)體對(duì)象類型,即查詢結(jié)果的實(shí)體類型。
Aattribute實(shí)體屬性類型,作為返回的 List 中元素的類型。
LambdaQueryWrapperwrapper支持 lambda 表達(dá)式的條件構(gòu)造器,用于構(gòu)建查詢條件。
SFunction<E, A>sFunction實(shí)體中屬性的 getter 方法引用,用于確定 List 中元素的值。
booleanisParallel如果設(shè)置為 true,則底層使用并行流執(zhí)行查詢,可以提高處理大量數(shù)據(jù)時(shí)的效率。
Consumer…peeks可變參數(shù),用于指定在處理查詢結(jié)果時(shí)執(zhí)行的額外操作,如打印日志、更新緩存等。

4.3 使用示例

// 假設(shè)有一個(gè) User 實(shí)體類和對(duì)應(yīng)的 BaseMapper
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getStatus, "active"); // 查詢狀態(tài)為 "active" 的用戶// 使用 list 方法查詢并封裝結(jié)果,提取所有用戶的用戶名
List<String> userNames = SimpleQuery.list(queryWrapper, // 查詢條件構(gòu)造器User::getUsername, // 提取用戶名作為列表元素user -> System.out.println("Processing user: " + user.getUsername()) // 打印處理的用戶名
);// 遍歷結(jié)果
for (String username : userNames) {System.out.println("Username: " + username);
}

4.4 使用提示

  • list 方法適用于需要根據(jù)實(shí)體的某個(gè)屬性快速獲取一個(gè)列表的場(chǎng)景。
  • 通過 sFunction 參數(shù),你可以指定任何實(shí)體屬性作為 List的元素,這使得查詢結(jié)果的訪問更加直觀和高效。
  • peeks 參數(shù)允許你在處理查詢結(jié)果時(shí)執(zhí)行額外的副作用操作,這些操作不會(huì)影響最終的 List 結(jié)果。
  • 當(dāng)處理大量數(shù)據(jù)時(shí),可以考慮將 isParallel 參數(shù)設(shè)置為 true 以啟用并行流,從而提高查詢效率。

通過使用 SimpleQuery 的 list 方法,開發(fā)者可以更加高效地處理查詢結(jié)果,并將其封裝成易于使用的數(shù)據(jù)結(jié)構(gòu),同時(shí)還可以執(zhí)行額外的副作用操作,使代碼更加簡(jiǎn)潔和靈活。


總結(jié)

回到頂部

http://www.risenshineclean.com/news/54298.html

相關(guān)文章:

  • 電商網(wǎng)站建設(shè)的相關(guān)內(nèi)容seo服務(wù)外包公司
  • 外貿(mào)建站費(fèi)用安卓手機(jī)優(yōu)化神器
  • 企業(yè)網(wǎng)站建設(shè)方案.doc世界互聯(lián)網(wǎng)峰會(huì)
  • 網(wǎng)站開發(fā)總監(jiān)招聘中國(guó)騰訊和聯(lián)通
  • wordpress簡(jiǎn)體中文下載地址神馬快速排名優(yōu)化工具
  • 臺(tái)州做網(wǎng)站哪家好最近的電腦培訓(xùn)學(xué)校
  • 400網(wǎng)站建設(shè)價(jià)格今日頭條新聞在線看
  • 秦皇島黃金海岸濟(jì)寧seo公司
  • 那些做面點(diǎn)的網(wǎng)站好湖南競(jìng)價(jià)優(yōu)化哪家好
  • 織夢(mèng)中英文版網(wǎng)站怎么做免費(fèi)網(wǎng)站服務(wù)器
  • 幫網(wǎng)站做關(guān)鍵詞排名優(yōu)化信息流廣告是什么意思
  • 吉林市網(wǎng)站制作視頻剪輯培訓(xùn)
  • wordpress 主題導(dǎo)出seo店鋪描述例子
  • 自己怎么做企業(yè)網(wǎng)站建設(shè)百度站內(nèi)搜索代碼
  • 江漢建站公司推廣游戲怎么拉人最快
  • 香港的貿(mào)易公司可以做網(wǎng)站嗎優(yōu)化大師apk
  • 深圳大型網(wǎng)站建設(shè)服務(wù)公司汕頭seo外包機(jī)構(gòu)
  • 做后期的網(wǎng)站網(wǎng)頁自動(dòng)點(diǎn)擊軟件
  • 樂彩網(wǎng)站源碼網(wǎng)站建設(shè)在線培訓(xùn)app
  • 移動(dòng)端的網(wǎng)站怎么做的網(wǎng)絡(luò)推廣怎么賺錢
  • 免費(fèi)誒網(wǎng)站建設(shè)競(jìng)價(jià)專員是做什么的
  • 沈陽網(wǎng)站制作全過程鎮(zhèn)江網(wǎng)站建站
  • 梵克雅寶四葉草項(xiàng)鏈官網(wǎng)刷seo排名
  • wordpress插件批量修改正文內(nèi)鏈seo顧問收費(fèi)
  • 重慶網(wǎng)站建設(shè)推薦百度收錄怎么弄
  • 濮陽網(wǎng)絡(luò)教育陜西網(wǎng)站關(guān)鍵詞自然排名優(yōu)化
  • 鄭州的網(wǎng)站建設(shè)公司哪家好軟文寫作網(wǎng)站
  • 巴中微信網(wǎng)站建設(shè)百度電話號(hào)碼
  • 南昌網(wǎng)站建設(shè)業(yè)務(wù)怎么做app推廣代理
  • python做網(wǎng)站掙錢91永久免費(fèi)海外地域網(wǎng)名