随笔分类 - 后端
摘要:目标: 在现有 ExcelUtils(static 工具类)基础上 扩展支持: ✅ 原 @ExplicitConstraint ✅ 类实现方式下拉 ✅ 类似若依的 dictType 查字典 ✅ 指定 table + column 查数据库字段 ✅ 不破坏原结构 一、整体架构 原有逻辑: @Expli
阅读全文
摘要:然后就会是这样,//不会放在行首列,美观很多了
阅读全文
摘要:StringUtils.isBlank() 和 StringUtils.isEmpty() 都是Apache Commons Lang库中的方法,但它们在处理空白字符串时有重要区别。 核心区别总结 方法 是否检查空字符串 是否检查空白字符 示例结果 isEmpty() 是 否 只看长度是否为0 is
阅读全文
摘要:一、注解定义 @Documented @Retention(RetentionPolicy.RUNTIME) // 运行时保留 @Target({ElementType.FIELD}) // 只能用于字段 public @interface ExplicitConstraint { // 静态数据源
阅读全文
摘要:1. 基本概念 1.1 AOP(面向切面编程) 目的:将横切关注点(Cross-Cutting Concern,如日志、事务、安全、性能监控等)从业务逻辑中分离。 核心概念: 切面(Aspect):横切关注点模块,通常使用类 + 注解实现。 切点(Pointcut):定义在哪些连接点(方法、类)执行
阅读全文
摘要:一、背景与目标 在若依框架原有 DataScope 的基础上,实现一套独立的、基于部门层级的数据权限过滤机制,用于按组织结构灵活控制数据可见范围。 设计目标 不依赖角色、不判断是否管理员 通过注解参数动态控制数据范围 支持: 是否包含本部门 向上查询 N 级部门 向下查询 N 级部门 / 所有子部门
阅读全文
摘要:📋 问题概述 MyBatis 在使用 OGNL 表达式和自动类型映射时存在多种隐式类型转换问题,主要涉及动态 SQL 判断、数据库与 Java 类型映射等方面。 🐞 常见问题及解决方案 1. 字符串与字符判断混淆 问题描述: OGNL 表达式将单引号括起的单个字符(如 'Y')解析为 char
阅读全文
摘要:问题现象 数据库字段存的是 JSON 字符串(如 ["1","2"]) 实体类使用 JacksonTypeHandler 作为 typeHandler 查询返回 null 常见原因 数据库字段类型不对 建议使用 json(MySQL 5.7+) 也可以是 text/varchar,但必须存标准 JS
阅读全文
摘要:步骤 1: 更新系统 在安装Java之前,确保系统包是最新的。 sudo yum update -y 步骤 2: 下载Java 17 从Oracle官方网站或AdoptOpenJDK下载Java 17。如果使用Oracle JDK,可以到Oracle网站下载。如果使用AdoptOpenJDK,可以使
阅读全文
摘要:FastJson 序列化处理 null 值的 1. 默认行为 FastJson 序列化时默认跳过值为 null 的字段。这意味着如果一个对象的某个字段为 null,序列化后的 JSON 不会包含该字段。 2. 序列化 null 字段 如果希望保留 null 值字段,即使字段的值为 null 也要在
阅读全文
摘要:需求:使用MyBatis进行开发时,在一个SQL语句中需要拼接list的大小。 大家都知道,当我们在MyBatis中写SQL时,如果需要遍历list,先对list进行非空判断的时候,可以加下面这行: <if test="null != list and list.size != 0">SQL</if
阅读全文
摘要:续https://www.cnblogs.com/echohye/p/18464302 问题 如果我需要获取Hash类型的所有键值,应该怎么获取呢 cmd = "redis.call('HGETALL', key)" 如果是直接使用以上命名,将会直接报序列化失败 (我这里的redis是使用FastJ
阅读全文
摘要:/** * 使用 Lua 脚本批量获取 Redis 键的值 * * @param prefix Redis 中的键列表 * @return 键对应的值的列表 */ public <E> List<E> getAllListValuesByPrefix(String prefix, Class<?>
阅读全文
摘要:在Windows上使用Docker创建Redis并设置密码 拉取Redis镜像 通过终端执行以下命令来获取Redis的官方镜像: docker pull redis 启动Redis容器并设置密码 使用--requirepass选项来设置Redis密码。例如,启动Redis并将密码设置为your_pa
阅读全文
摘要:Redis 缓存数据库查询的实现 1. 需求背景 数据库表 globalship 存储大量船舶信息,每次查询船舶信息时,使用 mmsi 作为查询条件。 由于数据量大,直接查询数据库性能较差,计划引入 Redis 缓存优化查询速度。 目标:通过 mmsi 查询船舶信息,若 Redis 中存在缓存则直接
阅读全文
摘要:在Windows上安装Redis的过程稍有不同,因为Redis官方只提供了Linux版本。 不过,可以通过以下几种方法在Windows上安装Redis: 方法1:使用微软维护的Redis for Windows版本 微软的Open Tech团队曾维护过Redis的Windows端口。可以使用这个版本
阅读全文
摘要:Spring Boot 中的参数校验 在 Spring Boot 开发中,通常需要确保前端传递的请求参数符合预期格式,尤其是对于 VO(Value Object)类中的必填字段。如果某个字段未传递或为空值,可能会导致业务逻辑错误。以下是实现必接收参数校验的常用方法。 1. 使用 @Valid 进行自
阅读全文

浙公网安备 33010602011771号