自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 资源 (2)
  • 收藏
  • 关注

原创 PostgreSQL 聚合函数总览

请注意:在聚合函数语境下,RANK() 等窗口函数的行为与在 OVER 子句中不同,它们需要 WITHIN GROUP 子句来定义排序。这类函数非常强大,其计算依赖于数据的特定顺序。) 子句来指定排序。这类函数用于评估如果某个"假设"的值被加入到数据集中,它会处于什么位置。这是最常用的一类,用于常规的数据汇总。PostgreSQL不仅支持SQL标准函数,还提供了一些特有的高级函数。请注意:此列表并未涵盖所有统计函数,完整的列表请参考官方文档。用于执行基本的统计分析,非常适合数据探索。

2026-04-14 10:24:29 315

原创 与他人修改同处而产生冲突的处理

【代码】与他人修改同处而产生冲突的处理。

2026-04-09 14:58:09 12

原创 Pg中常用的表达式|句法

WHERE 条件:WHERE CASE WHEN …END = ‘某值’ORDER BY:按自定义顺序排序。GROUP BY:根据条件分组。SELECT 列表(如上例)

2026-03-27 15:18:15 19

原创 系统慢sql的解决方案

0、基本语法1、B-tree索引(默认)2、其他索引3、高级选项查看索引删除索引。

2026-03-09 16:28:39 56

原创 PostgreSQL 聚合函数 array_agg()、string_agg()

string_agg()是PostgreSQL中的聚合函数,可以实现"分组后行转列,用逗号\分号\空格连接",功能强大且性能优秀。

2026-03-04 09:58:42 93

原创 MyBatis 中 jdbcType 的作用

jdbcType 在 MyBatis 中扮演着桥梁和规范者的角色,它告诉 MyBatis 和 JDBC 驱动如何与数据库交互。

2026-02-27 09:00:14 290

原创 本地缓存Caffeine的使用

本地缓存直接把数据存在应用进程里,读写速度快,特别适合:静态配置 / 元数据:比如系统的规则参数、接口白名单、地区编码映射表,这些数据几乎不怎么变;小体量高频访问数据:比如字典表(性别、学历、订单状态等),数据量小但查询频繁;复杂计算结果缓存:比如统计报表的计算结果、公式推导结果,避免重复计算浪费 CPU;临时数据:比如验证码、临时 token,只在当前请求或短时间内有效,不需要跨服务共享。如果需要跨服务共享缓存、数据量很大,或者要求高可用,还是得选 Redis 这类分布式缓存。

2026-02-26 10:59:49 239

原创 Mybatis访问PostgreSql异常:PSQLException: 错误: 无法确定参数 $1 的数据类型

摘要 PostgreSQL查询报错"无法确定参数$1的数据类型"是由于参数出现在无法推断类型的位置(如函数参数、OR条件左侧等)。虽然MyBatis指定了jdbcType,但PostgreSQL解析器仍可能无法识别。解决方案包括:调整条件顺序(将明确类型的字段放左侧)、使用类型转换(::text)、改用字符串连接操作符(||)或重构SQL避免参数出现在模糊位置。测试表明这是PostgreSQL解析问题,而非MyBatis或JDBC驱动错误。常见修复方案针对不同场景提供了具体优化方法。(1

2026-02-24 14:20:00 496 1

原创 Mybatis 的 XML 文件中常用的标签

本文介绍了MyBatis中三种常用动态SQL标签的用法。1) <if>标签用于条件判断,示例中展示了根据参数值动态添加查询条件;2) <choose>标签实现多条件分支逻辑,包含<when>和<otherwise>子标签;3) <foreach>标签用于循环处理集合参数,特别强调了批量插入时参数占位符的正确使用方式。这些标签能有效简化复杂SQL的编写,提升代码可读性和灵活性。

2026-02-11 15:13:02 185

原创 关于Double类型的判0与精度提取

【代码】关于Double类型的判0与精度提取。

2026-02-06 17:09:35 136

原创 基于mybatis-generator插件生成指定数据表的实体类、xml文件和dao层接口

【代码】基于mybatis-generator插件生成指定数据表的实体类、xml文件和dao层接口。

2026-02-05 14:29:43 184

原创 MyBatis 的 XML 文件中特殊字符的处理

MyBatis XML文件中处理大于/小于号的解决方案:1)使用XML转义字符(>表示>,<表示<);2)用CDATA区段包裹SQL语句;3)动态SQL中同样需要转义处理。文章提供了完整的转义字符对照表和特殊场景示例,包括动态表名、BETWEEN语句等场景下的正确写法。推荐优先使用XML转义字符方案,确保SQL语句在XML文件中的正确解析。

2026-02-05 11:21:55 663

原创 Linux中常用的运维命令

【代码】Linux中常用的运维命令。

2026-02-03 11:31:22 338

原创 CentOS系统中创建定时器

本文介绍了在Linux系统中配置systemd定时器执行任务的完整流程,包括创建脚本、设置权限、定义服务单元和定时器单元文件,以及相关的管理命令。文章还详细列出了定时器或任务启动失败的排查方法,包括检查服务状态、查看日志、分析常见错误原因(如路径不完整、启动频率限制等)以及相应的解决方案。通过journalctl工具可以获取详细的错误信息,帮助快速定位问题。最后提供了重置失败计数器和调整定时器频率的建议。

2026-02-03 11:18:21 599

原创 Doris建表的若干注意事项

【代码】Doris建表的若干注意事项。

2026-02-02 09:03:22 152

原创 Maven 依赖冲突的处理

摘要:线上SQL解析超时问题排查发现是JSqlParser 4.6版本的缺陷导致,需升级至4.9版本。项目存在多个依赖引入不同JSqlParser版本(4.6和4.9),产生Maven依赖冲突。Maven依赖仲裁规则遵循"路径最短优先"和"声明顺序优先"原则。解决方案对比了两种方式:1)使用exclusion排除不必要版本,虽直接但维护性差;2)更优方案是在dependencyManagement中统一锁定版本(4.9),该方式优先级最高且维护性好。最后提供了查看依赖

2026-01-26 15:02:02 357

原创 python读取ceph文件的样例

本文展示了一个使用Python boto3库从Ceph对象存储中读取文件的示例代码。通过创建S3客户端连接,指定端点URL和访问凭证后,定义readCeph函数获取指定存储桶(bucket)和对象键(object key)的文件内容。代码演示了如何获取'oss-wzrh'存储桶中特定路径下的文件内容并打印输出。文中还包含两个失败的curl命令示例,说明直接使用curl访问该Ceph存储的不可行性。最终通过boto3库成功实现了对Ceph存储的文件读取操作。

2026-01-23 17:34:12 30

原创 基于AES的对称加密算法

摘要:AES是目前最主流的对称加密算法,支持128/192/256位密钥。本文介绍了两种Java实现AES加解密的方式:1)随机生成密钥和IV,安全性高但密钥管理困难;2)使用固定密钥和IV,存在安全风险但便于实现。后端代码展示了CBC模式下的完整加密解密流程,包括密钥生成、IV处理、Base64/Hex编码转换。同时提供了前端使用CryptoJS进行加密的示例,建议将随机IV拼接传输以增强安全性。文章还对比了主流加密算法,指出AES和SM4是当前权威标准,而DES和RC4已不安全。

2026-01-16 10:27:57 93

原创 基于StreamLoad将数据写入Doris

本文介绍了使用Apache HttpClient实现Doris数据库的Stream Load数据导入功能。通过配置HttpClientBuilder处理307重定向,构建HTTP PUT请求将JSON数据流式加载到指定表中。代码实现了基础认证、请求头设置(包括唯一标签、JSON格式参数等)和响应处理。示例演示了如何将包含设备状态信息的JSON数组导入到Doris的new_device_status_analysis表中,并验证了导入结果。该方案适用于需要高效批量导入JSON格式数据的场景,支持自定义字段映射

2026-01-15 16:35:00 64

原创 SpringBoot配置CORS

SpringBoot实现跨域资源共享(CORS)的5种方法:1.使用@CrossOrigin注解在Controller类或方法上配置;2.通过WebMvcConfigurer全局配置CORS策略;3.自定义Filter设置响应头实现;4.使用Interceptor在请求处理前后添加逻辑;5.直接在响应体中设置CORS头部。建议生产环境中明确指定允许的源和方法,避免过度宽松的配置。配置方式包括注解、全局设置、过滤器等多种灵活方案,可根据项目需求选择最适合的实现方式。

2026-01-06 14:38:47 816

原创 JDBC直接访问关系库及Hikari数据源访问关系库

本文介绍了两种Java访问关系型数据库的方式。第一种是JDBC直接连接方式,通过DriverManager获取连接并执行查询。第二种是使用HikariCP连接池,详细说明了连接池的各项配置参数,特别是maxLifetime属性的重要性及其推荐设置。两种方式都演示了如何查询User表并将结果映射到User对象。连接池方式通过DataSourceUtils工具类管理连接,提供了更好的性能和资源管理。文章强调了正确配置连接池参数以避免连接泄漏和无效连接问题。

2026-01-04 13:11:33 227

原创 JSONPath解析JSON数据结构

摘要: Fastjson的JSONPath提供了一种简洁的路径表达式语言,用于高效查询和操作JSON数据。支持基本语法(如$根节点、..递归搜索)、函数语法(如min()/max())和筛选语法(如[?(@.price>10)])。通过依赖Fastjson库,开发者可直接解析JSON字符串或对象,快速提取特定节点(如$.store.book[0].title)、过滤数据(如价格范围查询)或执行统计计算。适用于复杂JSON结构的精准数据访问,避免多层get()调用。 (字数:150)

2025-12-31 13:04:01 561

原创 @Bean修饰的方法的参数的注入方式

文章摘要:本文介绍了Spring中@Bean方法参数注入的两种方式:1)基础类型使用@Value注解从配置文件注入;2)对象类型默认按类型自动装配(@Autowired),当有多个同类型bean时可通过@Qualifier指定bean名称。示例代码展示了如何配置DataSource和JdbcTemplate,包括使用@PropertySource加载配置文件,以及通过@Value和@Qualifier进行参数注入。关键注解包括@Configuration、@PropertySource、@Bean、@Val

2025-11-17 14:31:08 160

原创 Java中的静态代理与动态代理(Proxy.newProxyInstance)

本文介绍了Java中的两种代理模式实现方式:静态代理和动态代理,重点讲解了基于Proxy.newProxyInstance()的动态代理实现方法。通过定义目标接口、实现目标类、创建调用处理器以及生成代理对象四个步骤,展示了动态代理的实现过程。动态代理的核心优势在于无需修改原有代码即可增强功能,通过InvocationHandler在方法调用前后插入额外逻辑。需要注意的是,JDK动态代理只能为实现了接口的类创建代理实例。

2025-11-11 16:42:11 226

原创 Java实现gRPC双向流通信

该文章介绍了如何配置gRPC Java开发环境,主要包含以下内容: Maven依赖配置:包括gRPC相关依赖、日志依赖SLF4J和Protocol Buffers依赖,并指定Java 8作为编译环境。 构建插件配置:使用protobuf-maven-plugin插件自动生成gRPC代码,配置了protoc和grpc-java插件的版本。 proto文件定义:展示了如何定义gRPC服务MyService和消息格式MyRequest/MyResponse,支持双向流式通信。 开发环境准备:简要说明需要安装pro

2025-10-23 16:21:09 379

原创 PostgreSql基于postgres_fdw创建外部表

摘要:本文介绍了PostgreSQL中配置FDW(Foreign Data Wrapper)远程访问的步骤。首先创建postgres_fdw扩展,然后定义外部服务器连接(host、dbname、port参数)。接着映射本地用户到远程用户(包含认证信息),最后创建外部表映射到远程数据库表(需指定列定义和远程表名)。整个过程实现了PostgreSQL跨服务器访问外部数据的功能。

2025-07-08 15:46:16 300

原创 Linux命令行发送http请求

本文展示了两个使用cURL工具发送HTTP请求的示例。第一个请求通过POST方法查询时间序列数据库,请求体中包含时间范围、指标名称和标签等参数。第二个请求演示了文件下载功能,包含认证令牌、内容协商头和自定义头的设置,并通过"-o"参数指定下载文件的存储路径。两个示例都采用JSON格式的请求体,并展示了HTTP请求中常见的头部设置,包括Content-Type、Authorization和Accept等。

2025-07-02 09:11:46 206

原创 Java字符串及字符编码及转码简介

Java字符串在JVM内部采用UTF-16编码存储,每个字符占2字节。UTF-8是另一种Unicode实现方式,与UTF-16的字节结构不同。I/O操作需显式指定编码(如UTF-8),否则使用平台默认编码,可能导致乱码。示例代码展示了字符串与UTF-8/UTF-16间的转换,以及不同编码下字节数组的差异。UTF-8编码中英文字符占1字节,汉字占3字节;UTF-16则统一占2字节。注意编码转换时需保持编解码一致,避免数据损坏。

2025-06-24 17:33:35 368

原创 Springboot获取容器中bean的方法

本文介绍了两种在Spring Boot中获取Bean的方式:1)通过@Autowired注解自动注入,默认按类型查找,也可配合@Qualifier按名称注入;2)静态方法方式,包括实现ApplicationContextAware接口获取应用上下文,或直接通过启动类获取ConfigurableApplicationContext。两种方式各具特点,注解方式更简洁,静态方法更灵活适用于非容器管理环境中。

2025-05-23 22:16:33 420

原创 hbase shell的常用命令

HBase Shell 是 HBase 数据库的命令行工具,提供了多种操作命令。用户可以通过 hbase shell 命令登录,使用 list 查看所有表,并通过 create 创建表,如 student 和 scores 表。插入数据使用 put 命令,查询数据则使用 get 和 scan。scan 支持多种过滤条件,如按行键范围(STARTROW 和 STOPROW)、列名(COLUMNS)以及限制返回条数(LIMIT)。此外,还可以查询特定时间戳的数据。这些命令帮助用户高效管理和查询 HBase 数据

2025-05-14 16:04:13 580

原创 将本地项目提交到新建的git仓库

【代码】将本地项目提交到新建的git仓库。

2025-05-07 18:01:59 405

原创 Git 撤销已commit但未push的文件

基础知识:HEAD^ 即上个版本, HEAD~2 即上上个版本, 依此类推…

2025-05-07 11:30:38 609

原创 Git 新建分支

【代码】Git新建分支。

2025-04-01 10:32:53 3192

原创 Idea 给新项目配置Maven

Idea 给新项目配置Maven

2025-03-12 08:58:46 229

原创 Mybatis批量更新数据

Mybatis批量更新数据

2025-03-11 14:41:28 353

原创 @KafkaListener和KafkaTemplate自动装配原理分析

依赖项和配置信息参见另一篇博文,这里主要借助源码分析@KafkaListener和KafkaTemplate自动装配原理。

2025-02-25 10:57:38 706

原创 java读写磁盘文件

java读写磁盘文件

2025-02-24 09:37:22 252

原创 win11去除“显示更多选项“,直接显示全部菜单

win11去除"显示更多选项",直接显示全部菜单。以管理员身份运行命令行。

2024-12-20 14:43:53 558

原创 Map类型的元素顺序问题

Map类型的元素顺序问题

2024-12-11 14:26:57 209

原创 Java发送http请求的方式

文章介绍了基于jdk1.7编写的发送http请求的函数,代码亲测可用。

2024-11-25 17:30:24 603

Java实现gRPC双向流通信

Java实现gRPC双向流通信

2025-10-23

Java实现gRPC双向流通信

Java实现gRPC双向流通信

2025-10-23

redis安装包,一个安装包构成一个节点

redis安装包,一个安装包构成一个节点

2024-09-29

redis-shake

redis数据同步工具

2024-07-10

Java Web基础知识

讲述了基于java的网页开发基础知识,帮助初学者快速入门。

2018-10-07

jquery笔记

jquery笔记,记录了关于jQuery的基础信息和用法。是比较基础的文档

2018-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除