Stream-Query 技术文档
1. 安装指南
1.1 Maven 安装
在项目的 pom.xml 文件中添加以下依赖:
<!-- 包含 mybatis-plus 和 stream-core -->
<dependency>
<groupId>org.dromara.stream-query</groupId>
<artifactId>stream-plugin-mybatis-plus</artifactId>
<version>2.1.0</version>
</dependency>
<!-- 可单独引入核心功能 -->
<dependency>
<groupId>org.dromara.stream-query</groupId>
<artifactId>stream-core</artifactId>
<version>2.1.0</version>
</dependency>
1.2 Gradle 安装
在 build.gradle 文件中添加:
implementation group: 'org.dromara.stream-query', name: 'stream-plugin-mybatis-plus', version: '2.1.0'
implementation group: 'org.dromara.stream-query', name: 'stream-core', version: '2.1.0'
1.3 配置动态 Mapper
在 Spring 配置类中添加:
@Bean
public DynamicMapperHandler dynamicMapperHandler(SqlSessionFactory sqlSessionFactory) throws Exception {
final List<Class<?>> entityClassList = ClassHelper.scanClasses("com.your.package.po");
return new DynamicMapperHandler(sqlSessionFactory, entityClassList);
}
2. 项目使用说明
Stream-Query 是一个基于 MyBatis-Plus 的增强工具,主要提供两大核心功能:
- 动态 Mapper:无需编写 Mapper 接口即可操作数据库
- 流式处理:简化 Stream API 操作,提供更优雅的数据处理方式
3. 项目 API 使用文档
3.1 数据库操作 API
// 批量保存
Database.saveBatch(userList);
// 单表查询转Map(key为ID,value为实体)
Map<Long, UserInfo> idUserMap = OneToOne.of(UserInfo::getId).in(userIds).query();
// 一对多查询
Map<Long, List<Order>> userOrderMap = OneToMany.of(User::getId, Order::getUserId).in(userIds).query();
3.2 流式处理 API
// 使用 Steam 类简化流操作
List<String> names = Steam.of(userList)
.filter(u -> u.getAge() > 18)
.map(User::getName)
.toList();
// 树形结构处理
List<TreeNode> tree = TreeHelper.buildTree(nodeList, TreeNode::getId, TreeNode::getParentId);
3.3 工具类 API
// 安全空指针处理
Optional<User> user = Opp.ofNullable(getUser()).orElse(defaultUser);
// 反射工具
Map<String, Object> props = ReflectHelper.getFieldMap(user);
4. 项目安装方式
Stream-Query 支持多种安装方式:
- Maven 中央仓库:推荐使用,自动解决依赖
- Gradle 依赖:适合 Gradle 项目
- 手动下载 JAR:可从官网下载发布版本
- 源码编译:适合二次开发
4.1 版本选择建议
- 生产环境:使用最新的稳定版(当前为 2.1.0)
- 尝鲜功能:可使用 alpha 版本
- 历史版本:文档中提供了完整的版本变更记录
4.2 环境要求
- JDK 8+
- MyBatis-Plus 3.0+(如使用数据库功能)
- Spring Boot 2.0+(推荐)
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



