MCPcopy Index your code
hub / github.com/dromara/stream-query

github.com/dromara/stream-query @v3.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.0.0 ↗ · + Follow
1,068 symbols 4,496 edges 137 files 641 documented · 60%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

stream-query

hardcore extreme opinionated.

👉 <a href="http://stream-query.dromara.org/">stream-query</a> 👈






<a target="_blank" href="https://search.maven.org/artifact/org.dromara.stream-query/stream-query">
    <img src="https://img.shields.io/maven-central/v/org.dromara.stream-query/stream-query.svg?label=Maven%20Central" />
</a>
<a target="_blank" href='https://www.apache.org/licenses/LICENSE-2.0.html'>
    <img src='https://img.shields.io/badge/license-Apache%202-4EB1BA.svg'/>
</a>    
<a target="_blank" href='https://gitee.com/dromara/stream-query'>
    <img src='https://gitee.com/dromara/stream-query/badge/star.svg' alt='star'/>
</a>
<a target="_blank" href='https://github.com/dromara/stream-query'>
    <img src="https://img.shields.io/github/stars/dromara/stream-query.svg?style=social" alt="github star"/>
</a>

📚简介

允许完全摆脱Mappermybatis-plus体验!

封装streamlambda操作进行数据返回处理

🍺Committer卑微求职 北京、雄安求内推

v:Cizai_

微信

📝文档

中文文档  仓库地址  视频教程

📦安装

🍊Maven

在项目的pom.xml的dependencies中加入以下内容:



<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>

🍊Gradle

在项目的build.gradle的dependencies中加入以下内容:

implementation group: 'org.dromara.stream-query', name: 'stream-plugin-mybatis-plus', version: 'x.x.x'
implementation group: 'org.dromara.stream-query', name: 'stream-core', version: 'x.x.x'

🔧 配置

注入动态Mapper处理器

@Bean
public DynamicMapperHandler dynamicMapperHandler(SqlSessionFactory sqlSessionFactory) throws Exception {
    // 使用ClassHelper的scanClasses方法扫描对应路径下的po生成Class文件集合放入第二个参数就可以了
    final List<Class<?>>entityClassList=ClassHelper.scanClasses("com.ruben.pojo.po");
    return new DynamicMapperHandler(sqlSessionFactory,entityClassList);
}

📚使用

Database.saveBatch(userList);
// 批量保存
Database.saveBatch(userList);
// 使用userIds进行in查询,得到map key为id,value为entity对象
Map<Long, UserInfo> idUserMap=OneToOne.of(UserInfo::getId).in(userIds).query();

更多使用姿势-Database

更多使用姿势-One/Many/OneToMany

更多请看文档

🐞提供bug反馈或建议

提交问题反馈请说明正在使用的JDK版本、stream-query版本和相关依赖库版本。如果可以请尽量详细或加图片以便于我们去复现

Gitee issue

Github issue

🏗️添砖加瓦️

如果您感觉我们的代码有需要优化的地方或者有更好的方案欢迎随时提pr

📚包说明

包名 内容
stream-query 优雅的流式操作
stream-plugin orm框架 -> 使用优雅的Lambda进行对数据库进行一系列操作

🐾贡献代码的步骤

  1. Gitee或者Githubfork项目到自己的repo
  2. fork过去的项目也就是你的项目clone到你的本地
  3. 修改代码
  4. commitpush到自己的库
  5. 登录GiteeGithub在你仓库首页可以看到一个 pull request 按钮,点击它,填写一些说明信息,然后提交即可。 等待维护者合并

📐PR遵照的原则

stream-query欢迎任何人为stream-query添砖加瓦,贡献代码,规范如下:

  • 注释完备,尤其每个新增的方法应按照Java文档规范标明方法说明、参数说明、返回值说明等信息,必要时请添加单元测试,如果愿意,也可以加上你的大名。
  • 新加的方法尽可能不要使用额外的第三方库方法
  • 我们如果关闭了你的issue或pr,请不要诧异,这是我们保持问题处理整洁的一种方式,你依旧可以继续讨论,当有讨论结果时我们会重新打开。

powered by GitHub Copilot powered by JetBrainsOpen source license

赞助商

xiaonuo yinmaisoft

Extension points exported contracts — how you extend this code

IGenerateMapper (Interface)
EnableMybatisPlusPlugin#interfaceClass() Include entity when it has IGenerateMapper interface in basePac [4 implementers]
stream-plugin/stream-plugin-mybatis-plus/src/main/java/org/dromara/streamquery/stream/plugin/mybatisplus/engine/mapper/IGenerateMapper.java
AsyncInterceptor (Interface)
@author VampireAchao @since 2022/12/26 18:04 [1 implementers]
stream-core/src/main/java/org/dromara/streamquery/stream/core/async/AsyncInterceptor.java
PluginConst (Interface)
PluginConst interface. @author VampireAchao Cizai_ [2 implementers]
stream-plugin/stream-plugin-mybatis-plus/src/main/java/org/dromara/streamquery/stream/plugin/mybatisplus/engine/constant/PluginConst.java
SerArgsUnOp (Interface)
SerArgsUnOp @param the type of the input and output of the operator @author VampireAchao Cizai_ @since 2022/6/8 [1 implementers]
stream-core/src/main/java/org/dromara/streamquery/stream/core/lambda/function/SerArgsUnOp.java
UserInfoMapper (Interface)
UserInfoMapper @author VampireAchao @since 2023/2/9
stream-plugin/stream-plugin-mybatis-plus/src/test/java/org/dromara/streamquery/stream/plugin/mybatisplus/mapper/UserInfoMapper.java
Converter (Interface)
Converter @author achao@apache.org @param source type @param target type
stream-core/src/main/java/org/dromara/streamquery/stream/core/bean/Converter.java
IMapper (Interface)
拓展BaseMapper @param 实体 @author VampireAchao Cizai_
stream-plugin/stream-plugin-mybatis-plus/src/main/java/org/dromara/streamquery/stream/plugin/mybatisplus/engine/mapper/IMapper.java
SerThiFunc (Interface)
SerBiFunc @param the type of the first argument to the function @param the type of the second argument to the f
stream-core/src/main/java/org/dromara/streamquery/stream/core/lambda/function/SerThiFunc.java

Core symbols most depended-on inside this repo

get
called by 183
stream-core/src/main/java/org/dromara/streamquery/stream/core/lambda/function/SerSupp.java
of
called by 171
stream-core/src/main/java/org/dromara/streamquery/stream/core/stream/Steam.java
apply
called by 93
stream-core/src/main/java/org/dromara/streamquery/stream/core/lambda/function/SerBiOp.java
map
called by 73
stream-core/src/main/java/org/dromara/streamquery/stream/core/optional/Opp.java
isEmpty
called by 70
stream-core/src/main/java/org/dromara/streamquery/stream/core/optional/Sf.java
getName
called by 65
stream-core/src/main/java/org/dromara/streamquery/stream/core/lambda/LambdaExecutable.java
of
called by 62
stream-core/src/main/java/org/dromara/streamquery/stream/core/optional/Opp.java
toList
called by 61
stream-core/src/main/java/org/dromara/streamquery/stream/core/stream/CollectableStream.java

Shape

Method 918
Class 125
Interface 23
Enum 2

Languages

Java100%

Modules by API surface

stream-core/src/main/java/org/dromara/streamquery/stream/core/stream/Steam.java67 symbols
stream-core/src/main/java/org/dromara/streamquery/stream/core/stream/collector/Collective.java53 symbols
stream-plugin/stream-plugin-mybatis-plus/src/main/java/org/dromara/streamquery/stream/plugin/mybatisplus/Database.java49 symbols
stream-core/src/test/java/org/dromara/streamquery/stream/core/stream/SteamTest.java45 symbols
stream-core/src/main/java/org/dromara/streamquery/stream/core/optional/Opp.java41 symbols
stream-core/src/main/java/org/dromara/streamquery/stream/core/stream/AbstractStreamWrapper.java36 symbols
stream-plugin/stream-plugin-mybatis-plus/src/test/java/org/dromara/streamquery/stream/plugin/mybatisplus/DatabaseTest.java33 symbols
stream-core/src/main/java/org/dromara/streamquery/stream/core/reflect/ReflectHelper.java27 symbols
stream-core/src/test/java/org/dromara/streamquery/stream/core/optional/OppTest.java26 symbols
stream-core/src/main/java/org/dromara/streamquery/stream/core/optional/Sf.java26 symbols
stream-core/src/test/java/org/dromara/streamquery/stream/core/optional/SfTest.java24 symbols
stream-core/src/main/java/org/dromara/streamquery/stream/core/lambda/LambdaExecutable.java22 symbols

Datastores touched

(mysql)Database · 1 repos
stream-queryDatabase · 1 repos
stream-queryDatabase · 1 repos

For agents

$ claude mcp add stream-query \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact