持久层框架技术栈
文章平均质量分 74
小猿、
整洁的代码简单直接,整洁的代码如同优美的散文,整洁的代码从不隐藏设计者的意图,充满了干净利落的抽象和直截了当的控制语句
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring启动失败: MyBatis解析XXXMapper.xml时遇到SAXParseException (line:1403, column:65) - XML内容格式错误
MyBatis XML 文件解析错误分析与解决方案。原创 2025-04-18 15:50:39 · 1297 阅读 · 0 评论 -
SpringDataJPA使用deleteAllInBatch方法逻辑删除失效
该方法是一个批量删除操作,通常是直接生成SQL语句一次性删除数据,不会逐个加载实体,因此也不会触发实体的生命周期回调方法。),可以自定义一个批量更新的方法,通过直接执行SQL更新操作来实现逻辑删除。在使用Spring Boot JPA时,执行批量删除操作时,遇到逻辑删除失效的问题。这会逐个处理实体,并触发相应的生命周期回调方法,从而确保逻辑删除(即更新。这种方式在批量删除前,先手动更新实体,确保逻辑删除字段被正确设置。时,数据会被直接从数据库中删除,而不是进行逻辑删除的原因。原创 2025-02-26 10:00:00 · 991 阅读 · 0 评论 -
Spring Data JAP审计功能(创建人、创建时间、修改人、修改时间)实现方案、应用场景和示例代码
提供了审计功能,可以自动记录实体的创建人、创建时间、修改人、修改时间。通常,应用于需要跟踪数据变动历史和操作人员的场景。通过以上步骤,你可以实现审计功能来自动记录实体的创建人、创建时间、修改人和修改时间。日志追踪:帮助追踪数据操作历史。合规性审计:满足行业合规要求(如金融、医疗等)。数据变更回溯:便于问题追溯,特别是当数据被意外修改或删除时。通过启用和实现,你可以轻松地自动化管理这些数据变动的元数据,确保操作的透明性和可追溯性。原创 2025-02-25 16:04:44 · 1012 阅读 · 0 评论 -
使用QueryWrapper中IN关键字超过1000个参数后如何处理
由于上述原因,处理IN查询超过 1000 个参数时,应该采取适当的策略来避免错误并提升性能。分批查询将参数分为多个批次,每批不超过 1000 个,依次查询并合并结果。使用临时表将 ID 插入临时表,然后通过连接查询获取所需数据。使用子查询在子查询中使用较小的IN列表,以避免超过限制。使用JOIN查询如果可以,通过关联其他表来获取数据,避免直接使用IN。使用EXISTS子句使用EXISTS代替IN,在某些情况下性能更优。缓存策略使用 Redis 等缓存技术,将频繁访问的数据缓存起来,减少数据库查询。原创 2024-10-17 08:30:00 · 2366 阅读 · 0 评论 -
QueryWrapper介绍、应用场景和示例代码
是 MyBatis-Plus 提供的一个用于构建 SQL 查询条件的工具类。它简化了查询条件的构建,使得编写复杂的查询变得更加直观和简洁。是 MyBatis-Plus 框架中的一个类,旨在帮助开发者构建动态 SQL 查询。它可以用来指定查询条件、排序、分页等。提供了丰富的 API,支持常见的 SQL 操作,如WHERE条件、排序、分组、联合查询等。原创 2024-09-10 08:00:00 · 1234 阅读 · 0 评论 -
MybatisPlus中@EnumValue注解介绍、应用场景和示例代码
@EnumValue注解标记在枚举类型的字段上,表示该字段是枚举值在数据库中存储的实际值。这对于枚举的持久化是关键,确保枚举在数据库中的表示与Java枚举类的一致性原创 2024-09-04 08:15:00 · 2416 阅读 · 0 评论 -
MybatisPlus中@TableLogic注解介绍、示例代码
是 MyBatis-Plus 框架中用于处理逻辑删除的注解。逻辑删除是一种常见的删除策略,其中并不真正删除数据记录,而是通过修改某个标记字段的值来表示记录已经被删除。这种方式可以使数据在被标记为删除后依然存在于数据库中,方便以后恢复或者审计。注解用于标记实体类中的逻辑删除字段。逻辑删除字段通常是Integer或Boolean类型。MyBatis-Plus 自动处理逻辑删除的标记,不需要额外配置。在实际删除操作中,记录不会被真正删除,而是通过逻辑删除字段进行标记。原创 2024-09-03 09:00:00 · 2042 阅读 · 0 评论 -
SpringJPA - QueryDSL类使用介绍
QueryDSL(Query Domain Specific Language)是一个用于在 Java 中构建类型安全的动态查询的框架。它通过一种类似于 SQL 的语法,但是在编译时进行类型检查,从而避免了传统字符串查询带来的潜在错误和安全隐患。QueryDSL 主要用于简化复杂查询的构建,支持多种持久化框架,包括 JPA、Hibernate、JDO 等。QueryDSL 是一个强大的查询框架,通过类型安全的 DSL 提供了在 Java 中构建复杂查询的便捷方式。原创 2024-07-26 19:45:00 · 1669 阅读 · 0 评论 -
使用SpringBoot集成Hibernate实现对数据库表CURD操作
Hibernate是一个开源的对象关系映射(ORM)框架,它提供了自动将Java对象映射到关系数据库表的功能,使得开发者可以通过面向对象的方式操作数据库,避免了直接使用SQL语句操作数据库的复杂性。Hibernate提供了高度抽象化和透明化的操作方式,同时具备事务管理、缓存机制等功能,极大地简化了数据库操作。通过以上示例,展示了如何在Spring Boot项目中集成Hibernate,并实现对数据库表的CURD操作。原创 2024-07-26 06:00:00 · 489 阅读 · 0 评论 -
使用SpringBoot集成Mybatis实现对数据库CURD操作
添加依赖:在pom.xml文件中添加 Spring Boot Starter 和 MyBatis 的依赖。配置数据源:配置数据源信息,如数据库 URL、用户名、密码等。配置 MyBatis:设置 MyBatis 的 Mapper 扫描路径、XML 文件路径等。编写 Mapper 接口和 SQL 映射文件:定义数据访问接口和 SQL 语句。编写 Service 层:调用 Mapper 接口,实现业务逻辑。原创 2024-07-22 19:45:00 · 521 阅读 · 0 评论 -
MyBatis 四种类型拦截器
在 MyBatis 中,拦截器(Interceptor)是一种强大的机制,用于拦截 SQL 语句的执行过程,可以在执行 SQL 前后进行一些自定义的操作,比如日志记录、权限验证、性能监控等。在 MyBatis 中,拦截器主要通过实现接口来实现。原创 2024-06-26 15:05:05 · 618 阅读 · 0 评论 -
Mybatis缓存机制详解
除了 MyBatis 提供的默认缓存实现外,你还可以自定义实现自己的缓存。自定义缓存需要实现接口,并注册到 MyBatis 的配置中。实现 Cache 接口: 获取缓存实例的唯一标识符。: 将键值对存入缓存。: 根据键获取缓存中的值。: 移除指定键对应的缓存项。: 清空缓存。: 获取缓存中存储的项数。配置缓存:将自定义的缓存类注册到 MyBatis 的配置中,可以在 XML 配置文件中指定或通过 Java 代码配置。@Override@Override// 自定义缓存逻辑。原创 2019-07-24 20:53:45 · 185 阅读 · 1 评论
分享