MySQL FIND_IN_SET()函数笔记
碎碎念:项目开发中遇到一个场景——专家评审表(表A)和专家签名表(表B),表B的aids字段以逗号分隔存储多个表A的id。需要查询表A中未签名的数据,此时就需要用到 FIND_IN_SET() 函数。 MySQL FIND_IN_SET()函数定义FIND_IN_SET(str, strList) 参数说明: str : 要查找的字符串 strList: 逗号分隔的字符串的列表 功能说明: 功能:在逗号分隔的字符串列表中查找指定值的位置。 返回值: 找到时:返回其在列表中的位置索引(从 1 开始)。 未找到时:返回 0 如果任一参数为 NULL,则返回 NULL。 核心特点: 特性 说明 匹配方式 精确匹配整个字符串 分隔符 仅支持逗号(,),不支持其他分隔符 性能 不适合大数据量(通常导致全表扫描) 使用场景 处理历史遗留的逗号分隔字符串字段 索引支持 无法使用普通索引,可考虑函数索引(MySQL 8.0+) 语法与返回值1FIND_IN_SET(str, strlist) str: 要查找的字符串 strlist: 逗号...
CommonPageRequest.defaultPage() 分页原理详解
CommonPageRequest.defaultPage() 分页原理详解一、概述CommonPageRequest.defaultPage() 是 Snowy 框架中封装的一个分页工具方法,用于从 HTTP 请求中提取分页参数,并创建 MyBatis-Plus 的 Page 对象。该方法采用插件拦截机制实现 SQL 自动改写,无需手动拼接 LIMIT 语句。 二、核心源码位置 文件 路径 分页请求工具类 snowy-common/src/main/java/vip/xiaonuo/common/page/CommonPageRequest.java 分页插件配置 MyBatis-Plus 内置 PaginationInnerInterceptor 业务Service实现 snowy-plugin/snowy-plugin-trc/src/main/java/vip/xiaonuo/trc/modular/projectattendrecord/service/impl/TrcProjectAttendRecordServiceImpl.java Ma...
snowy常用的方法和模版
前端篇文件上传组件上传附件 返回附件的url 属性值 uploadMode: 可以指定上传模式,默认为file; 其中可选 file || video || drag || image 123456789<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24"> <a-form-item label="封面" name="workCoverUrl"> <xn-upload v-model:value="formData.workCoverUrl" uploadMode="image" up...
mybatis-plus自动分页
MyBatis-Plus 自动分页(三步核心笔记)步骤一: service层必须创建Page1234public Page<SesStuEval> listPage(int currentPage ,int pageSize,SesStuEvalPageParam param) { Page<SesStuEval> page = new Page<>(pcurrentPage, pageSize); return sesStuEvalMapper.listPage(page, param);} ✅ 核心要点: 必须通过new Page<>(current,size)创建分页对象 currentPage:当前页码(从1开始) pageSize:每页数据条数 Ser’vice层服务初始化分页参数 步骤二:Mapper 必须接受Page1234Page<SesStuEval> listContainTopicPage( @Param("page") Page<...
在snowy框架中新增自定义模块
在snowy框架中新增一个自定义模块(或插件),需要遵循清晰的多模块项目管理规范,其核心思想是通过模块化分离,实现功能插件的独立开发、统一管理与集成. 一、项目结构与模块划分原则snowy的插件体系采用“接口-实现”分离的架构 1、插件接口处(snowy-plugin-api/): 存放模块的API定义、DTO、枚举、常量等公共内容。此模块的职责是定义契约,不包含具体实现,可供其他模块依赖以调用接口。 2、插件实现从(snowy-plugin/):存放模块的业务逻辑、控制器、服务实现、Mapper、资源配置等具体实现代码。 3、主启动模块(snowy—plugin-app):作为最终的应用入口,负责集成和启动所有功能插件。 二、新增自定义模块“A”的详细步骤假设新增的模块名为 a。 步骤1: 创建插件接口模块 在 snowy-plugin-api目录下,创建模块 snowy-plugin-a-api 编辑 snowy-plugin-a-api的 pom.xml,必须引入公共核心模块 snowy-common,以确保能使用框架的基础设施。 12345<!-- 位于...
ssh基本用法
sshssh是应用于远程连接服务器的一种协议 基本用法远程登录服务器命令1ssh user@hostname user: 用户名 hostname: IP地址或者域名 第一登录是会出现以下提示 123The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established.ECDSA key fingerprint is SHA256:iy237yysfCe013/l+kpDGfEG9xxHxm0dnxnAbJTPpG8.Are you sure you want to continue connecting (yes/no/[fingerprint])? 输入yes,然后回车即可. 这样会将该服务器的信息记录在~/.ssh/known_hosts文件中。 然后输入密码即可登录到远程服务器中。 指定端口登录默认登录端口号为22。如果想登录某一特定端口: 1ssh user@hostname -p 端口号 配置文件创建文件 ~/.ssh/config 在文件中输入: 12...
docker离线部署
docker和docker-commpose离线安装背景说明: 本文部署的服务器是 arm架构的 1、安装包下载docker安装包下载:https://download.docker.com/linux/static/stable/aarch64/ docker-compose安装包下载: https://github.com/docker/compose/releases 2、解压docker安装包1tar -xvf docker-25.0.2.tgz 3、解压后会中当前目前下有一个叫docker的文件目录,将该文件夹下的文件拷贝到 */user/bin* 下面1cp docker/* /usr/bin/ 4、将docker注册为系统服务创建文件 /etc/systemd/system/docker.service,并添加以下内容 123456789101112131415161718192021222324252627282930[Unit]Description=Docker Application Container EngineDocumentation=https...


.png)

