当前位置: 首页 > news >正文

河南省示范校建设专题网站金华网站建设大型网页建设

河南省示范校建设专题网站,金华网站建设大型网页建设,深圳网络科技有限公司有哪些,做音乐网站要什么源码文章目录 前言一、使用步骤1.引入 SimpleQuery 工具类2.使用 SimpleQuery 进行查询 二、使用提示三、功能详解1. keyMap1.1 方法签名1.2 参数说明1.3 使用示例1.4 使用提示 2. map2.1 方法签名2.2 参数说明2.3 使用示例2.4 使用提示 3. group3.1 方法签名3.2 参数说明3.3 使用示… 文章目录 前言一、使用步骤1.引入 SimpleQuery 工具类2.使用 SimpleQuery 进行查询 二、使用提示三、功能详解1. keyMap1.1 方法签名1.2 参数说明1.3 使用示例1.4 使用提示 2. map2.1 方法签名2.2 参数说明2.3 使用示例2.4 使用提示 3. group3.1 方法签名3.2 参数说明3.3 使用示例3.4 使用提示 4. list4.1 方法签名4.2 参数说明4.3 使用示例4.4 使用提示 总结 前言 SimpleQuery 是 Mybatis-Plus 提供的一个工具类它对 selectList 查询后的结果进行了封装使其可以通过 Stream 流的方式进行处理从而简化了API的调用。 SimpleQuery 的一个特点是它的 peeks 参数这是一个可变参数类型为 Consumer…意味着你可以连续添加多个操作这些操作会在查询结果被处理时依次执行。 SimpleQuery 的使用方式可以参考官方测试用例。 使用 SimpleQuery 前需要确保项目中已注入对应实体的 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 进行查询 // 假设有一个 User 实体类和对应的 BaseMapper ListLong ids SimpleQuery.list(Wrappers.lambdaQuery(User.class), // 使用 lambda 查询构建器User::getId, // 提取的字段这里是 User 的 idSystem.out::println, // 第一个 peek 操作打印每个用户user - userNames.add(user.getName()) // 第二个 peek 操作将每个用户的名字添加到 userNames 列表中 );二、使用提示 SimpleQuery 工具类提供了一种简洁的方式来处理查询结果它允许你在查询结果上应用多个操作这些操作会按照添加的顺序依次执行。在使用 SimpleQuery 时你需要提供一个查询构建器如 Wrappers.lambdaQuery()一个用于提取结果的字段如 User::getId以及一个或多个 Consumer 类型的 peek 操作。peek 操作可以用于执行任何副作用操作如打印日志、更新缓存、发送通知等而不会影响查询结果本身。SimpleQuery 返回的结果是一个列表包含了所有查询到的实体对象这些对象已经应用了所有的 peek 操作。通过使用 SimpleQuery你可以将查询和结果处理逻辑分离使代码更加清晰和易于维护。 通过使用 SimpleQuery 工具类开发者可以更加高效地处理查询结果同时保持代码的简洁性和可读性。这种工具类尤其适合于需要对查询结果进行复杂处理的场景。 三、功能详解 1. keyMap SimpleQuery 的 keyMap 方法提供了一种便捷的方式来查询数据库并将查询结果封装成一个Map其中实体的某个属性作为键key实体本身作为值value。这个方法还支持在处理查询结果时执行额外的副作用操作如打印日志或更新缓存。 1.1 方法签名 // 查询表内记录封装返回为 Map属性,实体 MapA, E keyMap(LambdaQueryWrapperE wrapper, SFunctionE, A sFunction, ConsumerE... peeks);// 查询表内记录封装返回为 Map属性,实体考虑了并行流的情况 MapA, E keyMap(LambdaQueryWrapperE wrapper, SFunctionE, A sFunction, boolean isParallel, ConsumerE... peeks);1.2 参数说明 类型参数名描述Eentity实体对象类型即查询结果的实体类型。Aattribute实体属性类型也是返回的 Map 中键key的类型。LambdaQueryWrapperwrapper支持 lambda 表达式的条件构造器用于构建查询条件。SFunctionE, AsFunction实体中属性的 getter 方法引用用于确定 Map 中键key的值。booleanisParallel如果设置为 true则底层使用并行流执行查询可以提高处理大量数据时的效率。Consumer…peeks可变参数用于指定在处理查询结果时执行的额外操作如打印日志、更新缓存等。 1.3 使用示例 // 假设有一个 User 实体类和对应的 BaseMapper LambdaQueryWrapperUser queryWrapper new LambdaQueryWrapper(); queryWrapper.eq(User::getStatus, active); // 查询状态为 active 的用户// 使用 keyMap 方法查询并封装结果 MapString, User userMap SimpleQuery.keyMap(queryWrapper, // 查询条件构造器User::getUsername, // 使用用户名作为键user - System.out.println(Processing user: user.getUsername()) // 打印处理的用户名 );// 遍历结果 for (Map.EntryString, User entry : userMap.entrySet()) {System.out.println(Key: entry.getKey() , Value: entry.getValue()); }1.4 使用提示 keyMap 方法适用于需要根据实体的某个属性快速查找实体的场景。通过 sFunction 参数你可以指定任何实体属性作为 Map 的键这使得查询结果的访问更加直观和高效。peeks 参数允许你在处理查询结果时执行额外的副作用操作这些操作不会影响最终的 Map 结果。当处理大量数据时可以考虑将 isParallel 参数设置为 true 以启用并行流从而提高查询效率。 通过使用 SimpleQuery 的 keyMap 方法开发者可以更加高效地处理查询结果并将其封装成易于使用的数据结构同时还可以执行额外的副作用操作使代码更加简洁和灵活。 2. map SimpleQuery 的 map 方法提供了一种便捷的方式来查询数据库并将查询结果封装成一个 Map其中实体的某个属性作为键key另一个属性作为值value。这个方法还支持在处理查询结果时执行额外的副作用操作如打印日志或更新缓存。 2.1 方法签名 // 查询表内记录封装返回为 Map属性,属性 MapA, P map(LambdaQueryWrapperE wrapper, SFunctionE, A keyFunc, SFunctionE, P valueFunc, ConsumerE... peeks);// 查询表内记录封装返回为 Map属性,属性考虑了并行流的情况 MapA, P map(LambdaQueryWrapperE wrapper, SFunctionE, A keyFunc, SFunctionE, P valueFunc, boolean isParallel, ConsumerE... peeks);2.2 参数说明 类型参数名描述Eentity实体对象类型即查询结果的实体类型。Aattribute实体属性类型作为返回的 Map 中键key的类型。Pattribute实体属性类型作为返回的 Map 中值value的类型。LambdaQueryWrapperwrapper支持 lambda 表达式的条件构造器用于构建查询条件。SFunctionE, AkeyFunc实体中属性的 getter 方法引用用于确定 Map 中键key的值。SFunctionE, PvalueFunc实体中属性的 getter 方法引用用于确定 Map 中值value的值。booleanisParallel如果设置为 true则底层使用并行流执行查询可以提高处理大量数据时的效率。Consumer…peeks可变参数用于指定在处理查询结果时执行的额外操作如打印日志、更新缓存等。 2.3 使用示例 // 假设有一个 User 实体类和对应的 BaseMapper LambdaQueryWrapperUser queryWrapper new LambdaQueryWrapper(); queryWrapper.eq(User::getStatus, active); // 查询状态为 active 的用户// 使用 map 方法查询并封装结果 MapString, Integer userMap SimpleQuery.map(queryWrapper, // 查询条件构造器User::getUsername, // 使用用户名作为键User::getAge, // 使用年龄作为值user - System.out.println(Processing user: user.getUsername()) // 打印处理的用户名 );// 遍历结果 for (Map.EntryString, Integer entry : userMap.entrySet()) {System.out.println(Username: entry.getKey() , Age: entry.getValue()); }2.4 使用提示 map 方法适用于需要根据实体的某个属性快速查找另一个属性的场景。通过 keyFunc 和 valueFunc 参数你可以指定任何实体属性作为 Map 的键和值这使得查询结果的访问更加直观和高效。peeks 参数允许你在处理查询结果时执行额外的副作用操作这些操作不会影响最终的 Map 结果。当处理大量数据时可以考虑将 isParallel 参数设置为 true 以启用并行流从而提高查询效率。 通过使用 SimpleQuery 的 map 方法开发者可以更加高效地处理查询结果并将其封装成易于使用的数据结构同时还可以执行额外的副作用操作使代码更加简洁和灵活。 3. group SimpleQuery 的 group 方法提供了一种便捷的方式来查询数据库并将查询结果按照实体的某个属性进行分组封装成一个 Map。这个方法还支持在处理查询结果时执行额外的副作用操作如打印日志或更新缓存。此外它还允许你使用 Collector 对分组后的集合进行进一步的处理。 3.1 方法签名 // 查询表内记录封装返回为 Map属性,List实体 MapK, ListT group(LambdaQueryWrapperT wrapper, SFunctionT, K sFunction, ConsumerT... peeks);// 查询表内记录封装返回为 Map属性,List实体考虑了并行流的情况 MapK, ListT group(LambdaQueryWrapperT wrapper, SFunctionT, K sFunction, boolean isParallel, ConsumerT... peeks);// 查询表内记录封装返回为 Map属性,分组后对集合进行的下游收集器 M group(LambdaQueryWrapperT wrapper, SFunctionT, K sFunction, Collector? super T, A, D downstream, ConsumerT... peeks);// 查询表内记录封装返回为 Map属性,分组后对集合进行的下游收集器考虑了并行流的情况 M group(LambdaQueryWrapperT wrapper, SFunctionT, K sFunction, Collector? super T, A, D downstream, boolean isParallel, ConsumerT... peeks);3.2 参数说明 类型参数名描述Tentity实体对象类型即查询结果的实体类型。Kattribute实体属性类型作为返回的 Map 中键key的类型。D-下游收集器返回类型作为 Map 中值value的类型。A-下游操作中间类型用于 Collector 的中间结果。M-最终结束返回的 MapK, D 类型。LambdaQueryWrapperwrapper支持 lambda 表达式的条件构造器用于构建查询条件。SFunctionT, KsFunction分组依据实体中属性的 getter 方法引用用于确定 Map 中键key的值。CollectorT, A, Ddownstream下游收集器用于对分组后的集合进行进一步的处理。booleanisParallel如果设置为 true则底层使用并行流执行查询可以提高处理大量数据时的效率。Consumer…peeks可变参数用于指定在处理查询结果时执行的额外操作如打印日志、更新缓存等。 3.3 使用示例 // 假设有一个 User 实体类和对应的 BaseMapper LambdaQueryWrapperUser queryWrapper new LambdaQueryWrapper(); queryWrapper.eq(User::getStatus, active); // 查询状态为 active 的用户// 使用 group 方法查询并封装结果按照用户名分组 MapString, ListUser userGroup SimpleQuery.group(queryWrapper, // 查询条件构造器User::getUsername, // 使用用户名作为分组键user - System.out.println(Processing user: user.getUsername()) // 打印处理的用户名 );// 遍历结果 for (Map.EntryString, ListUser entry : userGroup.entrySet()) {System.out.println(Username: entry.getKey());for (User user : entry.getValue()) {System.out.println( - User: user);} }3.4 使用提示 group 方法适用于需要根据实体的某个属性对查询结果进行分组的场景。通过 sFunction 参数你可以指定任何实体属性作为分组的依据这使得查询结果的组织更加灵活。downstream 参数允许你使用 Collector 对分组后的集合进行进一步的处理如计数、求和、平均值等。peeks 参数允许你在处理查询结果时执行额外的副作用操作这些操作不会影响最终的 Map 结果。当处理大量数据时可以考虑将 isParallel 参数设置为 true 以启用并行流从而提高查询效率。 通过使用 SimpleQuery 的 group 方法开发者可以更加高效地处理查询结果并将其按照特定属性进行分组同时还可以执行额外的副作用操作使代码更加简洁和灵活。 4. list SimpleQuery 的 list 方法提供了一种便捷的方式来查询数据库并将查询结果封装成一个 List其中列表的元素是实体的某个属性。这个方法还支持在处理查询结果时执行额外的副作用操作如打印日志或更新缓存。 4.1 方法签名 // 查询表内记录封装返回为 List属性 ListA list(LambdaQueryWrapperE wrapper, SFunctionE, A sFunction, ConsumerE... peeks);// 查询表内记录封装返回为 List属性考虑了并行流的情况 ListA list(LambdaQueryWrapperE wrapper, SFunctionE, A sFunction, boolean isParallel, ConsumerE... peeks);4.2 参数说明 类型参数名描述Eentity实体对象类型即查询结果的实体类型。Aattribute实体属性类型作为返回的 List 中元素的类型。LambdaQueryWrapperwrapper支持 lambda 表达式的条件构造器用于构建查询条件。SFunctionE, AsFunction实体中属性的 getter 方法引用用于确定 List 中元素的值。booleanisParallel如果设置为 true则底层使用并行流执行查询可以提高处理大量数据时的效率。Consumer…peeks可变参数用于指定在处理查询结果时执行的额外操作如打印日志、更新缓存等。 4.3 使用示例 // 假设有一个 User 实体类和对应的 BaseMapper LambdaQueryWrapperUser queryWrapper new LambdaQueryWrapper(); queryWrapper.eq(User::getStatus, active); // 查询状态为 active 的用户// 使用 list 方法查询并封装结果提取所有用户的用户名 ListString userNames SimpleQuery.list(queryWrapper, // 查询条件构造器User::getUsername, // 提取用户名作为列表元素user - System.out.println(Processing user: user.getUsername()) // 打印处理的用户名 );// 遍历结果 for (String username : userNames) {System.out.println(Username: username); }4.4 使用提示 list 方法适用于需要根据实体的某个属性快速获取一个列表的场景。通过 sFunction 参数你可以指定任何实体属性作为 List的元素这使得查询结果的访问更加直观和高效。peeks 参数允许你在处理查询结果时执行额外的副作用操作这些操作不会影响最终的 List 结果。当处理大量数据时可以考虑将 isParallel 参数设置为 true 以启用并行流从而提高查询效率。 通过使用 SimpleQuery 的 list 方法开发者可以更加高效地处理查询结果并将其封装成易于使用的数据结构同时还可以执行额外的副作用操作使代码更加简洁和灵活。 总结 回到顶部
http://www.zqtcl.cn/news/701412/

相关文章:

  • 网站源码生成器英文网站建设600
  • 著名网站建设金华建设公司网站
  • 网站点击率h5开发app
  • 中英文 微信网站 怎么做网站的建站公司
  • 苏州网站建设新手去哪找做塑料的网站
  • 莱芜网站建设电话瓦房店网站建设
  • 视频网站app怎么做的天津seo标准
  • 建立音乐网站wordpress 安装文件名
  • 龙华营销型网站制作企业网站模板源代码下载
  • 山东城乡建设厅网站哪有做网站公司
  • 建设网站是否等于开展网络营销用wordPress搭建图片库
  • 泗阳做网站的外贸公司网站搭建
  • 做汽车保养的网站上商业招商网站
  • 如何进网站帝国cms调用网站名称
  • 瑞金网站建设推广合肥瑶海区地图
  • 静态网站建设国内免费域名
  • 网站建设设计公司电子商务网站开发与管理
  • 手机网站制作设计做国际网站有什么需要注意的
  • 机构网站源码如何分析一个网站
  • 免费营销软件网站网站建设与规划实训总结
  • 网站深度功能建筑人才网市场
  • 学校网站建设的意义和应用服务平台管理系统
  • 网站内容规划要包括什么内容wordpress5.2 php版本
  • 山西建设部网站超值的镇江网站建设
  • 做淘宝要网站网站推广外链怎么做
  • 深圳做网站推广哪家好自建网站优缺点
  • 网站建设询价函什么网站可以做会计题目
  • 电脑网站视频怎么下载珠海免费网站制作
  • wordpress menu icon咸阳seo
  • php制作网站网站开发与客户沟通