spring
文章平均质量分 71
半个程序员一个哲学家
这个作者很懒,什么都没留下…
展开
-
优化接口速度真实案例[百万级别数据量]
成功将接口从30秒降低到了0.8秒以内。这次优化让我重新真正审视了关系型数据库的劣势。选择哪种类型的数据库,取决于具体的应用场景和需求。关系型数据库(Mysql、Oracle等)适合事务性强、数据一致性和完整性要求高的应用,列式数据库(HBase、ClickHouse等)则适合大数据量的分析和统计,特别是在读取性能方面有显著优势。此次的业务场景显然更适合使用列式数据库,所以导致使用关系型数据库无论如何也不能够达到足够高的性能。原创 2024-01-12 16:12:40 · 1243 阅读 · 0 评论 -
实现并解决微服务间OpenFeign转发文件格式MultipartFile
在 Spring Framework 中,`@RequestParam` 和 `@RequestPart` 是处理客户端到服务器的请求数据时使用的两个不同的注解,它们在多部分文件上传和表单数据处理方面有着明显的区别。原创 2024-01-05 15:48:56 · 1300 阅读 · 0 评论 -
MyBatis自定义类型处理器 TypeHandler(通俗易懂,效率起飞),处理jsonb、数组、枚举类型。支持MybatisPlus
在 MyBatis 中,(类型处理器)的主要作用是帮助我们在 Java 代码中使用的数据类型(JavaType)和数据库中的数据类型(JdbcType)之间进行转换。`TypeHandler`(类型处理器)的主要作用是帮助我们在 Java 代码中使用的数据类型(`JavaType`)和数据库中的数据类型(`JdbcType`)之间进行转换。这就像是在 Java 世界和数据库世界之间搭建了一座桥梁。负责把 Java 类型的数据正确地放置到 SQL 语句的参数中。当你从数据库获取数据时(比如,查询操作)。原创 2024-01-04 16:18:30 · 3972 阅读 · 0 评论 -
Spring Boot 3.2 发行概括
springboot3.2发行简介原创 2023-12-28 18:02:04 · 611 阅读 · 1 评论 -
Drools规则引擎三分钟快速入门
如果你正在为如何让你的应用程序更智能地做出业务决策而烦恼,那么你已经找到了解决方案——Drools规则引擎。在这篇通俗易懂的入门博客中,我们将一步步引导你走进Drools的世界,一个能够让业务逻辑变得更简单、更灵活、并且易于管理的世界。我们将从Drools是什么讲起,为什么要使用它,以及它的核心组件是什么。更棒的是,我们还会通过一个实际的例子——如何为不同等级的客户自动化地应用不同的折扣,来展示如何编写你的第一个Drools规则。原创 2023-11-05 02:53:52 · 212 阅读 · 0 评论 -
优雅地实现MyBatisPlus中的多条件查询,只需两行代码。
MyBatisPlus框架已经为我们做了很多工作,但在复杂的多条件查询中,我们经常需要构建查询条件来进行数据库查询,特别是当查询条件多、变化频繁时。它通过反射获取对象中的所有字段及其值,然后为非null值的字段构建查询条件。:在多个方法或服务中,我们经常需要检查对象的每个字段,然后根据字段值构建查询条件。旨在解决上述问题,通过自动化构建查询条件,简化开发过程,减少出错机会,并提供更加一致和可维护的代码。方法,我们可以轻松地基于实体类对象构建查询条件,简化了多条件查询的复杂性,使代码更加简洁易读。原创 2023-10-25 16:51:22 · 503 阅读 · 0 评论 -
解决多数据源的事务问题 - 基于springboot--mybatis
想象一下这样的场景:我们有两个数据库,我们希望在一个方法中同时操作它们,但是普通的注解变得不太适用。我们可以采用一种类似于“双提交”的策略来解决这个问题。首先,我们让两个数据库执行所需的操作,然后立即提交。接下来,如果整个方法执行成功,我们就提交这两个数据库的事务。但是,如果在方法执行过程中出现了问题,我们会回滚这两个数据库的事务。简单来说,我们先让两个数据库做好准备,等到方法完成后,如果一切顺利,我们正式确认这两个数据库的操作。如果出现了错误,我们撤销之前的操作,就像玩一个双关游戏一样。原创 2023-08-24 02:08:12 · 5141 阅读 · 4 评论 -
多线程事务的实现
为了提高效率,在批量执行SQL时,可以采用多线程并发执行的方式。每个线程在执行完SQL后,暂时不提交事务,而是等待所有线程的SQL执行成功后,一起进行提交。如果其中任何一个线程执行失败,则所有线程都会回滚。原创 2023-07-06 19:20:33 · 1260 阅读 · 2 评论 -
模块之间引用不到其他模块的依赖,如何调用方法?
本文介绍了两种方法来实现子模块调用父模块的方法,包括通过依赖注入和使用事件驱动机制。通过这些方法,可以实现子模块与父模块的交互,实现更灵活的模块间通信。子模块触发事件,间接调用父模块的方法,无需引用父模块定义的方法和类,子模块发布一个事件,父模块的事件监听器监听到后执行业务逻辑。子模块定义一个事件,父模块监听该事件,并在事件触发时执行相应的方法。在子模块中定义一个回调接口,父模块实现该接口,并将实现类的实例传递给子模块。在Spring框架,当父模块依赖子模块,而子模块没有依赖父模块时,原创 2023-07-05 14:03:00 · 930 阅读 · 1 评论 -
生成短信验证码,优化生成随机短信验证码,使速度提升十倍
介绍两种生成随机短信验证码的方式,使用运算取代字符串运算的方式,提升十倍生成验证码速度。原创 2023-03-22 15:06:38 · 290 阅读 · 0 评论 -
封装统一异常处理,发生错误时,显示统一的错误结果。使接口更规范。向前端返回规范化的json格式数据。
封装统一异常处理,发生错误时,显示统一的错误结果。使接口更规范。向前端返回规范化的json格式数据。封装统一异常处理,发生错误时,显示统一的错误结果。使接口更规范。向前端返回规范化的json格式数据。...原创 2022-06-19 12:16:40 · 313 阅读 · 0 评论 -
spring 定义统一返回结果,响应封装成统一的json返回
定义统一返回结果,将响应封装成json返回,将所有接口的数据格式统一, 使前端对数据的操作更一致。原创 2022-06-18 23:03:12 · 532 阅读 · 0 评论