Awesome
<h1 align="center">stream-query</h1> <p align="center"> <strong>hardcore extreme opinionated.</strong> </p> <p align="center"> 👉 <a href="http://stream-query.dromara.org/">stream-query</a> 👈 </p> <p align="center"> <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> </p>📚简介
允许完全摆脱Mapper
的mybatis-plus
体验!
封装stream
和lambda
操作进行数据返回处理。
🍺Committer卑微求职 北京、雄安求内推
v:Cizai_
<img src="https://zang-1307996497.cos.ap-beijing.myqcloud.com/undefinedWechatIMG379.jpg" alt="微信" width="300px">📝文档
📦安装
🍊Maven
在项目的pom.xml的dependencies中加入以下内容:
<!-- 已包含mybatis-plus、stream-core、不用重复引入 -->
<!-- https://mvnrepository.com/artifact/org.dromara.stream-query/stream-plugin-mybatis-plus -->
<dependency>
<groupId>org.dromara.stream-query</groupId>
<artifactId>stream-plugin-mybatis-plus</artifactId>
<version>2.1.0</version>
</dependency>
<!-- 可单独引入 -->
<!-- https://mvnrepository.com/artifact/org.dromara/stream-core -->
<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();
更多请看文档
🐞提供bug反馈或建议
提交问题反馈请说明正在使用的JDK版本、stream-query版本和相关依赖库版本。如果可以请尽量详细或加图片以便于我们去复现
Gitcode issue<br/> Gitee issue<br/> Github issue
🏗️添砖加瓦️
如果您感觉我们的代码有需要优化的地方或者有更好的方案欢迎随时提pr
📚包说明
包名 | 内容 |
---|---|
stream-query | 优雅的流式操作 |
stream-plugin | orm框架 -> 使用优雅的Lambda进行对数据库进行一系列操作 |
🐾贡献代码的步骤
- 在
Gitcode
或者Gitee
或者Github
上fork
项目到自己的repo
- 把
fork
过去的项目也就是你的项目clone
到你的本地 - 修改代码
commit
后push
到自己的库- 登录
Gitcode
或Gitee
或Github
在你仓库首页可以看到一个pull request
按钮,点击它,填写一些说明信息,然后提交即可。 等待维护者合并
📐PR遵照的原则
stream-query
欢迎任何人为stream-query
添砖加瓦,贡献代码,规范如下:
- 注释完备,尤其每个新增的方法应按照Java文档规范标明方法说明、参数说明、返回值说明等信息,必要时请添加单元测试,如果愿意,也可以加上你的大名。
- 新加的方法尽可能不要使用额外的第三方库方法
- 我们如果关闭了你的issue或pr,请不要诧异,这是我们保持问题处理整洁的一种方式,你依旧可以继续讨论,当有讨论结果时我们会重新打开。
赞助商
powered by GitHub Copilot powered by JetBrainsOpen source license