- 博客(14)
- 收藏
- 关注
原创 SpringBoot事务管理深度解析:从原理到最佳实践
SpringBoot通过声明式事务管理和@Transactional注解提供了简洁而强大的事务控制能力。在实际开发中,开发者需要深入理解传播行为、隔离级别及异常处理机制,避免常见的事务失效问题。在单体应用中,合理配置事务参数可以显著提升系统性能和数据一致性。而在微服务架构下,则需要结合事件驱动、协调器模式等分布式事务解决方案,在保证数据最终一致性的同时满足系统可扩展性要求。随着云原生和微服务架构的普及,事务管理将继续向着更智能、更自动化的方向发展,为开发者提供更好的开发体验和更稳定的系统保障。
2025-11-17 11:15:44
799
原创 设计模式——工厂模式
工厂模式是创建型设计模式的典型代表,主要包括简单工厂、工厂方法和抽象工厂三种核心类型。简单工厂通过静态方法集中管理对象创建,但违反开闭原则;工厂方法通过子类化实现扩展,符合开闭原则;抽象工厂用于创建相关对象家族,确保产品兼容性。该模式的核心价值在于解耦客户端与具体类,集中管理对象创建逻辑,并支持灵活扩展。典型应用包括框架工具、跨平台开发和游戏系统等。选择模式时需考虑产品复杂度、扩展需求等因素,简单工厂适合快速原型,工厂方法利于扩展,抽象工厂保证产品兼容。
2025-09-04 20:17:31
472
原创 NOT EXIST再实践
本文探讨了在MySQL中获取物料请购单数据的两种方案。NOTEXIST方案通过子查询查找不存在不满足条件记录的主表数据,具有灵活性和NULL值处理优势;JOIN+GROUPBY方案则适合明确条件数量的场景。效率分析指出:当子表数据量小时JOIN方案可能更快,但大数据量时NOTEXISTS更优,尤其在有合适索引时。典型场景对比显示NOTEXISTS在多数据量、需快速终止扫描时表现更佳。建议优先考虑NOTEXISTS方案,特别当存在覆盖索引或需过滤大量记录时;JOIN方案适用于固定数量规则校验或需要附加统计的场
2025-05-27 16:14:28
1099
原创 翻越算法这座高山(四)——二分查找
二分查找是一种高效的查找算法,通过分治策略在有序集合中快速定位目标数据。其核心思想是通过不断对折搜索范围,将时间复杂度降至O(logN)。本文介绍了二分查找的原理、递归与非递归两种实现方式(Java代码示例),并分析了其应用场景(如数据库索引)及优缺点(查找快但依赖有序数据)。最后给出LeetCode704题的解决方案,展示二分查找在实际编程中的典型应用。
2024-11-13 14:34:59
421
原创 翻越算法这座高山(三)——认识递归
递归是一种直接或者间接地调用自身的算法。在编程中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。
2024-11-13 08:53:28
329
原创 设计模式——代理模式
代理模式是一种软件设计模式。为其他对象提供一种代理以控制对这个对象的访问。主要用于在不修改原有代码的情况下,通过引入代理类来间接访问目标对象。
2024-11-11 14:33:53
692
原创 翻越算法这座高山(二)——排序算法
排序算法是一类非常经典的算法。从刚学编程的冒泡排序,随后到选择排序、插入排序等,还有希尔排序,公司面试时也经常会问到快速排序等等,虽然是小小的排序算法,确也蕴含着编程者的智慧。
2024-11-08 15:15:11
1083
原创 NOT EXIST(mysql)
"NOT EXIST"通常在"SELECT", "INSERT" 或 "UPDATE"语句中使用,它可以用来检查主表中的一行是否不存在于子查询结果中。在MySQL中,"NOT EXIST"通常用于查询操作,它是"EXIST"关键字的反面,用于检查一个子查询是否不返回任何行。在报表开发实践中,因为查询逻辑复制,经常会用到NOT EXIST这种操作,有时候,结果是对的,但是查询效率却不尽如人意。对于返回结果集较大的子查询,可以考虑先将子查询的结果集临时保存到一个临时表中,然后再对这个临时表进行查询。
2024-11-05 14:02:29
3704
原创 翻越算法这座高山(一)——数组和字符串
当j==0||j==a[i].length-1时 元素为1,其他元素为a[i][j]=a[i-1][j-1]+a[i-1][j] 。个人对数组的一些理解:数组是具有相同数据结构(数据类型)的数据的一个顺序集合,由元素(内容)跟下标(索引)构成。数组的长度有大小,下标有边界,通常,下标以0开头,以数组长度-1为结尾。每一行第一个元素跟最后一个元素都是1,在一个a[i][j]的二维数组中,4.9数组遍历,将数组中的元素逐一访问一遍。
2024-10-19 14:32:27
910
原创 Mybatis动态字段实践
在Java springboot+mybatis 项目时间中,遇到这样的情况,需要动态的字段,我们有这样的场景:因一些低代码平台前台自定义字段时,后端会非人为意愿的指定数据库字段如ext_1_yy此类字段,这在开发过程中给SQL执行带来困难,mybatis动态字段,拼接SQL给这一情况带来了便利。MyBatis 提供了动态字段的功能,可以在运行时根据条件动态地选择查询的字段。插入原始字符串时,需要确保没有 SQL 注入的风险。的值,那么应该只允许非恶意的、安全的字符串。在这个例子中,如果传入的。
2024-10-17 15:08:33
543
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅