首页 文章 精选 留言 我的

精选列表

搜索[ORM],共2406篇文章
优秀的个人博客,低调大师

jpa mapper 2.0.5 以及 3.0.2 版本发布,Java orm 工具

jpa mapper只是spring data jpa 的搬运工,无任何侵入 [] 项目介绍 jpa mapper在spring data jpa之上进行了一些包装,使得经过注解的实体可以像mybatis 一样进行SQL 增、删、改和获取。SQL构造工具、SQL注解、链式API等让查询操作更为灵活 函数表达式, SQL注解 Optional返回 ,Criteria条件函数表达式 1:原生JPA以及 spring data jpa 支持。 2:简化的批处理操作。 4:简化的分页操作。 5:灵活的链式查询API和SQL构造器以及SQL注解。 6:实体属性动态映射。 7:支持多种数据库(mysql,mariadb,oracle,sqlserver,postgresql,db2,sqlite,hsqldb)。 安装教程 spring <dependency> <groupId>cn.xphsc</groupId> <artifactId>spring-data-jpamapper</artifactId> <version>2.0.5</version> </dependency> spring-data-jpa版本3.0.0+ jdk17 <dependency> <groupId>cn.xphsc</groupId> <artifactId>spring-data-jpamapper</artifactId> <version>3.0.2</version> </dependency> spring boot版本 <dependency> <groupId>cn.xphsc.boot</groupId> <artifactId>jpamapper-spring-boot-starter</artifactId> <version>2.0.5</version> </dependency> spring boot 3版本 <dependency> <groupId>cn.xphsc.boot</groupId> <artifactId>jpamapper-spring-boot-starter</artifactId> <version>3.0.2</version> </dependency> 使用说明 集成文档 - gitee 更新日志 - gitee

优秀的个人博客,低调大师

🎉 No-ORM 降低 DDD 实践成本 | Wow 5.3.2 发布

领域驱动|事件驱动|测试驱动|声明式设计|响应式编程|命令查询职责分离|事件溯源 官方文档:https://wow.ahoo.me/ 更新内容 特性(core):添加资源所有者支持 特性(exception):添加 ILLEGAL_ACCESS_OWNER_AGGREGATE 错误码映射 特性(webflux):添加所有者聚合前置条件检查 特性(elasticsearch):在事件流和快照模板中添加 ownerId 字段 特性(api):调整默认所有者值 特性(api):为聚合路由添加资源名称自定义功能 特性(mongodb):添加所有者 ID 索引并移除聚合 ID 集合 特性(api):为命令路由添加 appendOwnerPath 选项 特性(core):为命令添加所有者 ID 支持 特性(openapi):为 Swagger 添加空类转换器 重构(webflux):移除未使用的 ID 查询聚合功能 重构(webflux):通用化查询处理函数 重构(query):提取租户 ID 处理逻辑 重构(openapi):将 COMMAND_OWNER_PARAMETER 替换为 OWNER_ID_PARAMETER 引用 重构(openapi):提取 CommandRequestParameters 和 CommandResponses 重构(api):更新 CommandRoute 注解并弃用一个属性 重构(api):移除 CommandRoute.ignoreAggregateNamePrefix 测试(aggregate):添加所有者 ID 支持并重构测试阶段 文档(guide):在查询文档中添加 OWNER_ID 操作符 文档(guide):更新 OpenAPI 规范文档 依赖: 更新依赖项 me.ahoo.coapi:coapi-bom 到 v1.9.5 依赖:更新依赖项 me.ahoo.cosid:cosid-bom 到 v2.10.3 依赖:更新依赖项 jasmine-core 到 ~5.6.0 依赖:更新 angular monorepo 到 v19.1.6 依赖:更新 angular-cli monorepo 到 v19.1.7 简介 Wow是一个基于领域驱动设计和事件溯源的现代响应式CQRS微服务开发框架,历经多年生产环境验证。 旨在帮助开发者构建现代化的、高性能且易于维护的微服务应用程序,充分发挥领域驱动设计和事件溯源等模式优势的同时降低应用的复杂性以及实践成本。 值得一提的是,领域驱动设计和事件溯源并非微服务架构的专属,Wow框架不仅适用于微服务开发,同样也可用于构建基于领域驱动设计的单体应用程序。 快速开始 使用 Wow 项目模板快速创建基于 Wow 框架的 DDD 项目 特性概览 架构图 背景 随着业务的发展和复杂性的增加,传统的架构和开发方式逐渐显露出瓶颈。领域驱动设计和事件溯源等理念在提高系统设计的灵活性和可维护性方面表现出色,但在实践中常常需要面对复杂性和学习曲线的挑战。 Wow框架的目标是以简单易用的方式将领域驱动设计和事件溯源等理念融入到微服务应用开发中,降低开发者的学习成本,提高开发效率。 通过提供现代响应式的CQRS架构和相关组件,Wow框架旨在让开发者更专注于业务逻辑的实现,而不必过多关心底层技术细节。 经过多年的实践和不断的演进,Wow框架在生产环境中得到了验证,积累了丰富的经验。这些经验和反馈不仅丰富了框架的功能和性能,也为持续的改进和优化提供了宝贵的指导。 对于开发者而言,Wow框架意味着什么? 我曾告诫我的团队:如果我们过于依赖数据驱动设计而忽视领域驱动设计,我们最终将沦为CRUD工程师。 CRUD工程师的竞争力和可替代性可想而知,这或许是为何会有35岁效应,企业显然更倾向于招募没有太多生活羁绊、更加廉价的25岁CRUD工程师。 业务价值 软件系统的核心价值体现在业务价值上,研发人员不应只关注技术实现上,而是应该更多地关注业务价值的实现。 这其中的好处显而易见,当你开发完一个业务系统之后,你将变成一个业务专家,甚至比跟你合作的领域专家还要专业,因为你需要洞察业务细节。 使用Wow框架,意味着你将关注点放在围绕领域模型设计上,与业务专家一起探索业务领域,而不是关注于技术实现上。 你仅需编写领域模型,即可完成服务开发,Wow框架自动为你准备好OpenAPI接口。 在《实现领域驱动设计》一书中,作者 Vaughn Vernon 提到:核心域才值得投入精力进行领域驱动设计, 但如果你使用Wow框架,你将发现,因为低廉开发成本、快速的开发效率,即使是次要的支撑子域也值得DDD。 性能与伸缩性 随着业务的发展,你需要开始思考系统的性能和伸缩性问题。 在传统架构中,这牵扯到数据库关系模式、分片规则等复杂问题,同时你还需要处理因数据库分片导致的跨分片事务问题。 这时,你不得不修改你的业务代码,以适应水平拆分后的数据库架构。 然而,如果你选择使用Wow框架,你将不再需要过多关注数据库关系模式、分片规则等问题。你的业务代码无需变更,系统能够轻松实现水平伸缩。 你可以在这里了解更多关于Wow 框架的性能。 读写分离与同步延迟 读写分离是一种极为普遍的性能优化架构模式。 然而,同步延迟问题常伴随而来,事务执行成功后写库落库成功,但读库同步延迟,用户刷新页面后无法获取最新数据,从而对用户的体验产生影响。例如: 用户发起下单事务,写库执行成功,但由于某种原因,读库同步延迟,用户刷新页面后发现订单未成功创建。 商家编辑完商品后,同步到Elasticsearch索引库,但由于某种原因,同步延迟,导致商家刷新页面后搜索不到该商品。 通常,大家采用最简便的方法,等待 1 秒后刷新页面。 虽然这种方式能解决大多数数据同步延迟的问题,但效率不够高。 因为大多数情况下,同步在 100 毫秒内就已完成,剩余的 900 毫秒成了浪费。 然而,有时 1 秒无法完成同步,这就导致用户获取的数据变得无效。 使用Wow框架,你可以通过等待PROJECTED信号完成,然后再将结果返回给用户,以更为优雅和高效的方式处理数据同步延迟的问题。 工程质量 单元测试是确保代码质量且符合预期业务需求的重要手段,但在传统架构中,单元测试往往是一项相当困难的任务,因为你需要考虑数据库连接、事务管理、数据清理等问题。 使用Wow框架,你将会发现基于Given->When->Expect模式的测试套件,使得单元测试变得异常简单。 你只需关注领域模型是否符合预期,而无需为数据库连接等问题烦恼。 在实际应用中,我们将领域模型的单元测试覆盖率下限阈值设置为85%,也是可以轻松实现的。 在没有刻意要求的情况下,开发人员甚至自觉地将覆盖率提升至95%。 因此,每次提交代码都变得轻松自在,因为你确信你的代码经过了充分的测试,并且真正意义上从单元测试中获得了收益。 在研发同级别的项目中,我们的测试团队在系统API测试中发现,基于 Wow 框架的项目,其BUG数仅为传统架构项目的1/3。 你可以在这里了解更多关于Wow 单元测试套件。 对于企业而言,Wow框架意味着什么? 商业智能 商业智能是企业决策的关键支持,而数据则是商业智能的分析原料。业务数据越为丰富有价值,商业智能的分析结果越准确,决策也就更加可靠。 与传统架构有着显著差异,Wow提供了实时聚合根状态事件(StateEvent)和聚合命令(Command)作为数据分析的数据源,同时极大降低了实时ETL(Extract,Transform,Load)的难度。 在传统架构中,实现实时ETL通常需要经过繁琐的流程,包括DB->CDC->Process->DB,而在Wow框架中,仅需一段简单的SQL脚本即可完成这一过程。 另外,在传统架构中,使用CDC(MySql Binlog)数据仅记录数据的变化,缺乏明确的业务语义。进行业务分析时,需要基于数据状态的变化推断出业务语义,这往往需要进行大量的数据处理。 相较之下,Wow框架直接提供了聚合根状态事件和聚合命令作为数据分析的数据源,极大降低了数据处理的难度。 Wow提供的实时同步机制将数据实时同步至数据仓库(ClickHouse),为实时数据分析提供了极大的便利。这种方法为商业智能提供了强有力的支持,构建了一个实时数据分析系统,使决策制定能够基于及时而准确的信息。 你可以在这里了解更多关于Wow 商业智能。 操作审计 操作审计是企业中保障安全性和合规性的重要组成部分,同时也是对系统操作进行监控和追踪的关键手段。Wow框架在这方面为企业带来了显著的优势。 通过记录聚合命令(Command)作为操作审计的数据源,Wow框架能够详细追踪系统中的各种操作。 这些记录不仅包含了操作本身的内容,还涵盖了操作触发的副作用(领域事件),为审计提供了更为全面和准确的数据基础。 相较于传统审计方法,Wow框架的操作审计的数据源具备更加明确的业务语义,以及操作后产生的明确领域事件。 此外,Wow 框架提供的实时数据同步机制也为操作审计带来了便利,确保了审计数据的及时性和一致性。 了解更多关于Wow 操作审计。

优秀的个人博客,低调大师

🎉 No-ORM 领域模型即服务 | Wow 3.0.10 发布

领域驱动|事件驱动|测试驱动|声明式设计|响应式编程|命令查询职责分离|事件溯源 官方文档:https://ahoowang.gitee.io/wow/ 更新内容 特性(core): 统一命令网关(CommandGateway)命令验证失败时的异常信息(CommandResultException)。 依赖(compensation): 支持从命令(CreateExecutionFailed)中申明重试规范。 依赖(doc): 更新vitepress到v1.0.2 依赖(openapi): 更新springdoc到v2.5.0 依赖(compensation): 更新me.ahoo.coapi:coapi-bom到v1.2.6 依赖(dashboard): 更新angular到v17.3.3 依赖(build): 更新插件ksp到v1.9.23-1.0.20 依赖(build): 更新io.github.gradle-nexus.publish-plugin到v2 特性(openapi): 将contextName赋值到OpenAPI.info 简介 Wow是一个基于领域驱动设计和事件溯源的现代响应式CQRS微服务开发框架,历经多年生产环境验证。 旨在帮助开发者构建现代化的、高性能且易于维护的微服务应用程序,充分发挥领域驱动设计和事件溯源等模式优势的同时降低应用的复杂性以及实践成本。 值得一提的是,领域驱动设计和事件溯源并非微服务架构的专属,Wow框架不仅适用于微服务开发,同样也可用于构建基于领域驱动设计的单体应用程序。 快速开始 使用 Wow 项目模板快速创建基于 Wow 框架的 DDD 项目 特性概览 架构图 背景 随着业务的发展和复杂性的增加,传统的架构和开发方式逐渐显露出瓶颈。领域驱动设计和事件溯源等理念在提高系统设计的灵活性和可维护性方面表现出色,但在实践中常常需要面对复杂性和学习曲线的挑战。 Wow框架的目标是以简单易用的方式将领域驱动设计和事件溯源等理念融入到微服务应用开发中,降低开发者的学习成本,提高开发效率。 通过提供现代响应式的CQRS架构和相关组件,Wow框架旨在让开发者更专注于业务逻辑的实现,而不必过多关心底层技术细节。 经过多年的实践和不断的演进,Wow框架在生产环境中得到了验证,积累了丰富的经验。这些经验和反馈不仅丰富了框架的功能和性能,也为持续的改进和优化提供了宝贵的指导。 对于开发者而言,Wow框架意味着什么? 我曾告诫我的团队:如果我们过于依赖数据驱动设计而忽视领域驱动设计,我们最终将沦为CRUD工程师。 CRUD工程师的竞争力和可替代性可想而知,这或许是为何会有35岁效应,企业显然更倾向于招募没有太多生活羁绊、更加廉价的25岁CRUD工程师。 业务价值 软件系统的核心价值体现在业务价值上,研发人员不应只关注技术实现上,而是应该更多地关注业务价值的实现。 这其中的好处显而易见,当你开发完一个业务系统之后,你将变成一个业务专家,甚至比跟你合作的领域专家还要专业,因为你需要洞察业务细节。 使用Wow框架,意味着你将关注点放在围绕领域模型设计上,与业务专家一起探索业务领域,而不是关注于技术实现上。 你仅需编写领域模型,即可完成服务开发,Wow框架自动为你准备好OpenAPI接口。 在《实现领域驱动设计》一书中,作者 Vaughn Vernon 提到:核心域才值得投入精力进行领域驱动设计, 但如果你使用Wow框架,你将发现,因为低廉开发成本、快速的开发效率,即使是次要的支撑子域也值得DDD。 性能与伸缩性 随着业务的发展,你需要开始思考系统的性能和伸缩性问题。 在传统架构中,这牵扯到数据库关系模式、分片规则等复杂问题,同时你还需要处理因数据库分片导致的跨分片事务问题。 这时,你不得不修改你的业务代码,以适应水平拆分后的数据库架构。 然而,如果你选择使用Wow框架,你将不再需要过多关注数据库关系模式、分片规则等问题。你的业务代码无需变更,系统能够轻松实现水平伸缩。 你可以在这里了解更多关于Wow 框架的性能。 读写分离与同步延迟 读写分离是一种极为普遍的性能优化架构模式。 然而,同步延迟问题常伴随而来,事务执行成功后写库落库成功,但读库同步延迟,用户刷新页面后无法获取最新数据,从而对用户的体验产生影响。例如: 用户发起下单事务,写库执行成功,但由于某种原因,读库同步延迟,用户刷新页面后发现订单未成功创建。 商家编辑完商品后,同步到Elasticsearch索引库,但由于某种原因,同步延迟,导致商家刷新页面后搜索不到该商品。 通常,大家采用最简便的方法,等待 1 秒后刷新页面。 虽然这种方式能解决大多数数据同步延迟的问题,但效率不够高。 因为大多数情况下,同步在 100 毫秒内就已完成,剩余的 900 毫秒成了浪费。 然而,有时 1 秒无法完成同步,这就导致用户获取的数据变得无效。 使用Wow框架,你可以通过等待PROJECTED信号完成,然后再将结果返回给用户,以更为优雅和高效的方式处理数据同步延迟的问题。 工程质量 单元测试是确保代码质量且符合预期业务需求的重要手段,但在传统架构中,单元测试往往是一项相当困难的任务,因为你需要考虑数据库连接、事务管理、数据清理等问题。 使用Wow框架,你将会发现基于Given->When->Expect模式的测试套件,使得单元测试变得异常简单。 你只需关注领域模型是否符合预期,而无需为数据库连接等问题烦恼。 在实际应用中,我们将领域模型的单元测试覆盖率下限阈值设置为85%,也是可以轻松实现的。 在没有刻意要求的情况下,开发人员甚至自觉地将覆盖率提升至95%。 因此,每次提交代码都变得轻松自在,因为你确信你的代码经过了充分的测试,并且真正意义上从单元测试中获得了收益。 在研发同级别的项目中,我们的测试团队在系统API测试中发现,基于 Wow 框架的项目,其BUG数仅为传统架构项目的1/3。 你可以在这里了解更多关于Wow 单元测试套件。 对于企业而言,Wow框架意味着什么? 商业智能 商业智能是企业决策的关键支持,而数据则是商业智能的分析原料。业务数据越为丰富有价值,商业智能的分析结果越准确,决策也就更加可靠。 与传统架构有着显著差异,Wow提供了实时聚合根状态事件(StateEvent)和聚合命令(Command)作为数据分析的数据源,同时极大降低了实时ETL(Extract,Transform,Load)的难度。 在传统架构中,实现实时ETL通常需要经过繁琐的流程,包括DB->CDC->Process->DB,而在Wow框架中,仅需一段简单的SQL脚本即可完成这一过程。 另外,在传统架构中,使用CDC(MySql Binlog)数据仅记录数据的变化,缺乏明确的业务语义。进行业务分析时,需要基于数据状态的变化推断出业务语义,这往往需要进行大量的数据处理。 相较之下,Wow框架直接提供了聚合根状态事件和聚合命令作为数据分析的数据源,极大降低了数据处理的难度。 Wow提供的实时同步机制将数据实时同步至数据仓库(ClickHouse),为实时数据分析提供了极大的便利。这种方法为商业智能提供了强有力的支持,构建了一个实时数据分析系统,使决策制定能够基于及时而准确的信息。 你可以在这里了解更多关于Wow 商业智能。 操作审计 操作审计是企业中保障安全性和合规性的重要组成部分,同时也是对系统操作进行监控和追踪的关键手段。Wow框架在这方面为企业带来了显著的优势。 通过记录聚合命令(Command)作为操作审计的数据源,Wow框架能够详细追踪系统中的各种操作。 这些记录不仅包含了操作本身的内容,还涵盖了操作触发的副作用(领域事件),为审计提供了更为全面和准确的数据基础。 相较于传统审计方法,Wow框架的操作审计的数据源具备更加明确的业务语义,以及操作后产生的明确领域事件。 此外,Wow 框架提供的实时数据同步机制也为操作审计带来了便利,确保了审计数据的及时性和一致性。 了解更多关于Wow 操作审计。

优秀的个人博客,低调大师

真正智慧的 ORM,sagacity-sqltoy-5.2.31 发版

开源地址: github:https://github.com/sagframe/sagacity-sqltoy gitee:https://gitee.com/sagacity/sagacity-sqltoy idea 插件 (可直接在 idea 中检索安装):https://github.com/threefish/sqltoy-idea-plugins 更新内容 1、优化反向缓存匹配获取精准key值用in(:keys) 代替 like :nameKeyWords场景 <sql id="qstart_order_search"> <filters> <!-- unmatched-return-self:缓存未匹配到key直接用名称代替(默认true) cache-not-matched-value: 缓存未匹配到给一个默认值 --> <cache-arg cache-name="staffIdName" param="staffName" alias-name="staffIds" unmatched-return-self="true"/> </filters> <value> <![CDATA[ select * from sqltoy_order_info where #[staff_id in (:staffIds)] ]]> </value> </sql> sqltoy 的关键优势: //------------------了解 sqltoy的关键优势: -------------------------------------------------------------------------------------------*/ //1、最简最直观的sql编写方式(不仅仅是查询语句),采用条件参数前置处理规整法,让sql语句部分跟客户端保持高度一致 //2、sql中支持注释(规避了对hint特性的影响,知道hint吗?搜oracle hint),和动态更新加载,便于开发和后期维护整个过程的管理 //3、支持缓存翻译和反向缓存条件检索(通过缓存将名称匹配成精确的key),实现sql简化和性能大幅提升 //4、支持快速分页和分页优化功能,实现分页最高级别的优化,同时还考虑到了cte多个with as情况下的优化支持 //5、支持并行查询 //6、根本杜绝sql注入问题 //7、支持行列转换、分组汇总求平均、同比环比计算,在于用算法解决复杂sql,同时也解决了sql跨数据库问题 //8、支持保留字自动适配 //9、支持跨数据库函数自适配,从而非常有利于一套代码适应多种数据库便于产品化,比如oracle的nvl,当sql在mysql环境执行时自动替换为ifnull //10、支持分库分表 //11、提供了取top、取random记录、树形表结构构造和递归查询支持、updateFetch单次交互完成修改和查询等实用的功能 //12、sqltoy的update、save、saveAll、load 等crud操作规避了jpa的缺陷,参见update(entity,String...forceUpdateProps)和updateFetch //13、提供了极为人性化的条件处理:排它性条件、日期条件加减和提取月末月初处理等 //14、提供了查询结果日期、数字格式化、安全脱敏处理,让复杂的事情变得简单,大幅简化sql或结果的二次处理工作 //-----------------------------------------------------------------------------------*/ sqltoy 特点介绍: sqltoy 的核心构建思想 sqltoy 的对比 mybatis (plus) 的核心点:查询语句编写、可阅读性、可维护性 对象化 crud 是基础,但 sqltoy 有针对性的改进:update、updateSaveFetch、updateFetch 等 sqltoy 的缓存翻译,大幅减少表关联简化 sql,让你的查询性能成几何级提升 极致的分页,同样帮助你实现查询的性能大幅提升 快速分页:@fast () 实现先取单页数据然后再关联查询,极大提升速度 分页优化器:page-optimize 让分页查询由两次变成 1.3~1.5 次 (用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询 sqltoy 的分页取总记录的过程不是简单的 select count (1) from (原始 sql);而是智能判断是否变成:select count (1) from 'from 后语句 ', 并自动剔除最外层的 order by sqltoy 支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能 便利的跨数据库统计计算:数据旋转 便利的跨数据库统计计算:无限极分组统计 (含汇总求平均) 便利的跨数据库统计计算:同比环比

优秀的个人博客,低调大师

真正智慧的 ORM,sagacity-sqltoy-5.2.30 发版

开源地址: github:https://github.com/sagframe/sagacity-sqltoy gitee:https://gitee.com/sagacity/sagacity-sqltoy idea 插件 (可直接在 idea 中检索安装):https://github.com/threefish/sqltoy-idea-plugins 更新内容 1、优化并行分页,使用统一的线程池减少线程池的创建和销毁 2、DataSourceUtils增加initialize方法,强化线程安全 3、优化部分代码提升效率 感谢 rabbit 进行深度压力测试,编写并行分页的优化 sqltoy 的关键优势: //------------------了解 sqltoy的关键优势: -------------------------------------------------------------------------------------------*/ //1、最简最直观的sql编写方式(不仅仅是查询语句),采用条件参数前置处理规整法,让sql语句部分跟客户端保持高度一致 //2、sql中支持注释(规避了对hint特性的影响,知道hint吗?搜oracle hint),和动态更新加载,便于开发和后期维护整个过程的管理 //3、支持缓存翻译和反向缓存条件检索(通过缓存将名称匹配成精确的key),实现sql简化和性能大幅提升 //4、支持快速分页和分页优化功能,实现分页最高级别的优化,同时还考虑到了cte多个with as情况下的优化支持 //5、支持并行查询 //6、根本杜绝sql注入问题 //7、支持行列转换、分组汇总求平均、同比环比计算,在于用算法解决复杂sql,同时也解决了sql跨数据库问题 //8、支持保留字自动适配 //9、支持跨数据库函数自适配,从而非常有利于一套代码适应多种数据库便于产品化,比如oracle的nvl,当sql在mysql环境执行时自动替换为ifnull //10、支持分库分表 //11、提供了取top、取random记录、树形表结构构造和递归查询支持、updateFetch单次交互完成修改和查询等实用的功能 //12、sqltoy的update、save、saveAll、load 等crud操作规避了jpa的缺陷,参见update(entity,String...forceUpdateProps)和updateFetch //13、提供了极为人性化的条件处理:排它性条件、日期条件加减和提取月末月初处理等 //14、提供了查询结果日期、数字格式化、安全脱敏处理,让复杂的事情变得简单,大幅简化sql或结果的二次处理工作 //-----------------------------------------------------------------------------------*/ sqltoy 特点介绍: sqltoy 的核心构建思想 sqltoy 的对比 mybatis (plus) 的核心点:查询语句编写、可阅读性、可维护性 对象化 crud 是基础,但 sqltoy 有针对性的改进:update、updateSaveFetch、updateFetch 等 sqltoy 的缓存翻译,大幅减少表关联简化 sql,让你的查询性能成几何级提升 极致的分页,同样帮助你实现查询的性能大幅提升 快速分页:@fast () 实现先取单页数据然后再关联查询,极大提升速度 分页优化器:page-optimize 让分页查询由两次变成 1.3~1.5 次 (用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询 sqltoy 的分页取总记录的过程不是简单的 select count (1) from (原始 sql);而是智能判断是否变成:select count (1) from 'from 后语句 ', 并自动剔除最外层的 order by sqltoy 支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能 便利的跨数据库统计计算:数据旋转 便利的跨数据库统计计算:无限极分组统计 (含汇总求平均) 便利的跨数据库统计计算:同比环比

优秀的个人博客,低调大师

真正智慧的 ORM,sagacity-sqltoy-5.2.29 发版

开源地址: github:https://github.com/sagframe/sagacity-sqltoy gitee:https://gitee.com/sagacity/sagacity-sqltoy idea 插件 (可直接在 idea 中检索安装):https://github.com/threefish/sqltoy-idea-plugins 更新内容 1、优化雪花算法主键策略单例初始化定义,增加init初始化方法,避免线程安全 感谢网友:rabbit的反馈 sqltoy 的关键优势: //------------------了解 sqltoy的关键优势: -------------------------------------------------------------------------------------------*/ //1、最简最直观的sql编写方式(不仅仅是查询语句),采用条件参数前置处理规整法,让sql语句部分跟客户端保持高度一致 //2、sql中支持注释(规避了对hint特性的影响,知道hint吗?搜oracle hint),和动态更新加载,便于开发和后期维护整个过程的管理 //3、支持缓存翻译和反向缓存条件检索(通过缓存将名称匹配成精确的key),实现sql简化和性能大幅提升 //4、支持快速分页和分页优化功能,实现分页最高级别的优化,同时还考虑到了cte多个with as情况下的优化支持 //5、支持并行查询 //6、根本杜绝sql注入问题 //7、支持行列转换、分组汇总求平均、同比环比计算,在于用算法解决复杂sql,同时也解决了sql跨数据库问题 //8、支持保留字自动适配 //9、支持跨数据库函数自适配,从而非常有利于一套代码适应多种数据库便于产品化,比如oracle的nvl,当sql在mysql环境执行时自动替换为ifnull //10、支持分库分表 //11、提供了取top、取random记录、树形表结构构造和递归查询支持、updateFetch单次交互完成修改和查询等实用的功能 //12、sqltoy的update、save、saveAll、load 等crud操作规避了jpa的缺陷,参见update(entity,String...forceUpdateProps)和updateFetch //13、提供了极为人性化的条件处理:排它性条件、日期条件加减和提取月末月初处理等 //14、提供了查询结果日期、数字格式化、安全脱敏处理,让复杂的事情变得简单,大幅简化sql或结果的二次处理工作 //-----------------------------------------------------------------------------------*/ sqltoy 特点介绍: sqltoy 的核心构建思想 sqltoy 的对比 mybatis (plus) 的核心点:查询语句编写、可阅读性、可维护性 对象化 crud 是基础,但 sqltoy 有针对性的改进:update、updateSaveFetch、updateFetch 等 sqltoy 的缓存翻译,大幅减少表关联简化 sql,让你的查询性能成几何级提升 极致的分页,同样帮助你实现查询的性能大幅提升 快速分页:@fast () 实现先取单页数据然后再关联查询,极大提升速度 分页优化器:page-optimize 让分页查询由两次变成 1.3~1.5 次 (用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询 sqltoy 的分页取总记录的过程不是简单的 select count (1) from (原始 sql);而是智能判断是否变成:select count (1) from 'from 后语句 ', 并自动剔除最外层的 order by sqltoy 支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能 便利的跨数据库统计计算:数据旋转 便利的跨数据库统计计算:无限极分组统计 (含汇总求平均) 便利的跨数据库统计计算:同比环比

优秀的个人博客,低调大师

真正智慧的 ORM,sagacity-sqltoy-5.2.28 发版

开源地址: github:https://github.com/sagframe/sagacity-sqltoy gitee:https://gitee.com/sagacity/sagacity-sqltoy idea 插件 (可直接在 idea 中检索安装):https://github.com/threefish/sqltoy-idea-plugins 更新内容 1、修复@value(:name) 存在$\符号,导致正则表达式替换bug 2、增强cacheMatchKeys支持数组,将多个名称通过like匹配找到精准的key String[] cacheMatchKeys(CacheMatchFilter cacheMatchFilter, String... matchRegexes) 3、sql中cache-args通过名称匹配精准key支持数组,同时调整filter逻辑,filter条件成立表示包含此数据 <!-- 通过缓存将名称用类似like模式匹配出对应的编码作为条件进行精准查询 --> <cache-arg param="" cache-name="" cache-type="" alias-name="" prior-match-equal=""> <!-- 对缓存进行过滤,比如个人授权的机构、状态为生效的缓存数据等 --> <!-- compare-param: 可以是一个参数的属性名称也可以是具体的值,cache-index对应缓存数据的第几列 --> <filter compare-param="1" cache-index="4"/> </cache-arg> sqltoy 的关键优势: //------------------了解 sqltoy的关键优势: -------------------------------------------------------------------------------------------*/ //1、最简最直观的sql编写方式(不仅仅是查询语句),采用条件参数前置处理规整法,让sql语句部分跟客户端保持高度一致 //2、sql中支持注释(规避了对hint特性的影响,知道hint吗?搜oracle hint),和动态更新加载,便于开发和后期维护整个过程的管理 //3、支持缓存翻译和反向缓存条件检索(通过缓存将名称匹配成精确的key),实现sql简化和性能大幅提升 //4、支持快速分页和分页优化功能,实现分页最高级别的优化,同时还考虑到了cte多个with as情况下的优化支持 //5、支持并行查询 //6、根本杜绝sql注入问题 //7、支持行列转换、分组汇总求平均、同比环比计算,在于用算法解决复杂sql,同时也解决了sql跨数据库问题 //8、支持保留字自动适配 //9、支持跨数据库函数自适配,从而非常有利于一套代码适应多种数据库便于产品化,比如oracle的nvl,当sql在mysql环境执行时自动替换为ifnull //10、支持分库分表 //11、提供了取top、取random记录、树形表结构构造和递归查询支持、updateFetch单次交互完成修改和查询等实用的功能 //12、sqltoy的update、save、saveAll、load 等crud操作规避了jpa的缺陷,参见update(entity,String...forceUpdateProps)和updateFetch //13、提供了极为人性化的条件处理:排它性条件、日期条件加减和提取月末月初处理等 //14、提供了查询结果日期、数字格式化、安全脱敏处理,让复杂的事情变得简单,大幅简化sql或结果的二次处理工作 //-----------------------------------------------------------------------------------*/ sqltoy 特点介绍: sqltoy 的核心构建思想 sqltoy 的对比 mybatis (plus) 的核心点:查询语句编写、可阅读性、可维护性 对象化 crud 是基础,但 sqltoy 有针对性的改进:update、updateSaveFetch、updateFetch 等 sqltoy 的缓存翻译,大幅减少表关联简化 sql,让你的查询性能成几何级提升 极致的分页,同样帮助你实现查询的性能大幅提升 快速分页:@fast () 实现先取单页数据然后再关联查询,极大提升速度 分页优化器:page-optimize 让分页查询由两次变成 1.3~1.5 次 (用缓存实现相同查询条件的总记录数量在一定周期内无需重复查询 sqltoy 的分页取总记录的过程不是简单的 select count (1) from (原始 sql);而是智能判断是否变成:select count (1) from 'from 后语句 ', 并自动剔除最外层的 order by sqltoy 支持并行查询:parallel="true",同时查询总记录数和单页数据,大幅提升性能 便利的跨数据库统计计算:数据旋转 便利的跨数据库统计计算:无限极分组统计 (含汇总求平均) 便利的跨数据库统计计算:同比环比

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册