Java精选面试题 (微信小程序): 5000+ 道面试题和 选择题, 真实面经 , 简历模版 ,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、 Docker、K8s、Flink、Spark、架构设计、大厂真题等,在线随时刷题!开源项目简介
对于java程序员来说,myBatis、Hibernate等都是常见的 ORM框架,对于一些简单的 CRUD,事务支持非常不错。但是有时候用起来可能比较繁琐,比如接下来我们要聊的话题,比 MyBatis 效率快 100 倍的条件检索引擎,天生支持联表,使一行代码实现复杂列表检索成为可能,绝无夸张之语!
开源协议
使用Apache-2.0开源协议
界面展示
![]()
你的产品给你画了以上一张图,还附带了一些要求:
检索结果分页展示
可以按任意字段排序
按检索条件统计某些字段值
这时候,后台接口该怎么写???使用 Mybatis 或 Hibernate 写 100 行代码是不是还打不住?而使用 Bean Searcher,只需 一行代码 便可实现上述要求!!!
功能概述特性
支持 实体多表映射
支持 动态字段运算符
支持 分组聚合 查询
支持 Select | Where | From 子查询
支持 实体类嵌入参数
支持 字段转换器
支持 Sql 拦截器
支持 数据库 Dialect 扩展
支持 多数据源 与 动态数据源
支持 注解缺省 与 自定义
支持 字段运算符 扩展
等等
快速开发使用 Bean Searcher 可以极大节省后端的复杂列表检索接口的开发时间集成简单
可以和任意 Java Web 框架集成,如:SpringBoot、Grails、Jfinal 等
扩展性强
面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件
支持 注解缺省
约定优于配置,可省略注解,可复用原有域类,同时支持自定义注解
支持 多数据源
分库分表?在这里特别简单,告别分库分表带来的代码熵值增高问题
支持 Select 指定字段
同一个实体类,可指定只 Select 其中的某些字段,或排除某些字段
支持 参数过滤器
支持添加多个参数过滤器,可自定义参数过滤规则
支持 字段转换器
支持添加多个字段转换器,可自定义数据库字段到实体类字段的转换规则
支持 SQL 拦截器
支持添加多个 SQL 拦截器,可自定义 SQL 生成规则
技术选型
框架目的:只一行代码实现:多表联查分页搜索任意字段组合过滤任意字段排序多字段统计
架构图:
![]()
为什么用?
这绝不是一个重复的轮子
虽然 增删改 是 hibernate 和 mybatis、data-jdbc 等等 ORM 的强项,但查询,特别是有 多条件、联表、分页、排序 的复杂的列表查询,却一直是它们的弱项。
传统的 ORM 很难用较少的代码实现一个复杂的列表检索,但 Bean Searcher 却在这方面下足了功夫,这些复杂的查询,几乎只用一行代码便可以解决。
例如,这样的一个典型的需求:
后端需要写一个检索接口,而如果用传统的ORM来写,代码之复杂是可以想象的。
而 Bean Searcher 却可以:
只一行代码实现以上功能
首先,你有一个实体类:
br/>
参数构建器
集成简单
可以和任意 Java Web 框架集成,如:SpringBoot、Spring MVC、Grails、Jfinal 等等。更多开源项目:https://www.yoodb.com/projects/springboot-user-manger.html
Spring Boot 项目,添加依赖即集成完毕:
接着便可在 Controller 或 Service 里注入检索器:
其它框架,使用如下依赖:
然后可以使用 SearcherBuilder 构建一个检索器:
扩展性强
面向接口设计,用户可自定义扩展 Bean Searcher 中的任何组件!
比如你可以:
自定义 FieldOp 来支持更多的字段运算符
自定义 FieldConvertor 来支持任意的 特殊字段类型
自定义 DbMapping 来实现自定义注解,或让 Bean Searcher 识别其它 ORM 的注解
自定义 ParamResolver 来支持其它形式的检索参数
自定义 Dialect 来支持更多的数据库
等等..
源码地址
Gitee:https://gitee.com/ejlchina-zhxu/bean-searcher
GitHub:https://github.com/ejlchina/bean-searcher
公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!
最近有很多人问,有没有技术或摸鱼交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!在线摸鱼:https://www.yoodb.com/
Java精选面试题(微信小程序):3000+道面试题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计等,在线随时刷题!
特别推荐:专注分享最前沿的技术与资讯,为弯道超车做好准备及各种开源项目与高效率软件的公众号,「大咖笔记」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片关注。
文章有帮助的话,点在看,转发吧!
到此这篇全文型数据库缩写(全文数据库英文缩写)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/21153.html