2024-10-11
mybatis
0

通过外连接条件优化解决 MyBatis + PageHelper 分页统计不一致问题

在使用 MyBatis 和 PageHelper 进行分页查询时,外连接(如 LEFT JOINRIGHT JOIN)经常会因为连接条件不充分而引发笛卡尔积,导致分页统计的 count 结果与实际记录数不一致。通常这个问题发生在外连接的 ON 条件没有严格限定唯一性,从而造成了重复记录,影响了分页统计。

在本文中,我们将介绍如何通过在外连接的 ON 子句中添加多个条件来消除笛卡尔积,进而解决统计不一致的问题。

2024-09-25
Mysql
0

修改MySQL中表的排序规则:全局转换为utf8mb4

在MySQL中,字符集和排序规则对数据的存储和检索有着重要影响。使用utf8mb4字符集可以支持更广泛的Unicode字符,包括表情符号等。因此,在需要全局修改数据库中所有表的排序规则时,使用以下SQL查询可以帮助你实现这个目标。

步骤1:生成ALTER TABLE语句

2024-09-19
Mysql
0

MySQL 字符串字段存储纯数字时的隐式类型转换问题

在开发中,我们经常会遇到字符串字段存储纯数字的情况。通常,字符串字段用来存储文本信息,但是有时候,为了保持灵活性,某些数字信息(如订单号、电话号码等)也会被存储在 VARCHARCHAR 字段中。然而,当我们在查询这些字段时,如果不小心忽略了类型转换的细节,可能会出现意想不到的查询结果。这篇博客将详细介绍这个问题,并讨论如何避免它。

1. 问题背景

假设我们有如下的 MySQL 表结构,其中 num_str 字段是 VARCHAR 类型,用来存储纯数字字符。

2024-09-19
Spring Boot
0

使用 Spring Boot 整合 MapStruct 的指南

一、前言

在 Java 开发中,DTO(Data Transfer Object)与实体类之间的转换通常是一个频繁的任务,尤其在构建复杂的应用时。手动进行转换不仅繁琐,还容易出错。为了提高开发效率并减少转换代码的冗余,我们可以使用 MapStruct —— 一个基于注解的 Java 对象映射框架,它能在编译时生成类型安全、性能优越的代码。

在这篇博客中,我将向大家展示如何在 Spring Boot 项目中整合 MapStruct,并通过具体示例介绍如何使用它进行对象的转换。


二、项目准备

1. 创建 Spring Boot 项目

2024-09-10
Spring Boot
0

RabbitMQ 工作原理及在 Spring Boot 中的应用

什么是 RabbitMQ?

RabbitMQ 是一个流行的开源消息代理软件,基于 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)。它提供可靠的消息传递功能,支持多种消息模式和路由机制,常用于分布式系统和微服务架构中,用于解耦组件、实现异步处理和消息传递。

RabbitMQ 的核心概念

在了解 RabbitMQ 的工作原理之前,我们需要熟悉以下核心概念: