- 博客(84)
- 资源 (1)
- 收藏
- 关注
原创 JPA 操作对象图 (Object Graph) 详解
在传统的关系型数据库中,数据被存储在由行和列组成的二维表中,表与表之间通过外键关联。这种模型是基于关系的。而在面向对象的编程语言(如 Java)中,数据被组织成对象,对象之间通过引用(如成员变量)相互关联。一个对象可以包含其他对象,或者一个对象集合。这种对象之间的关联关系构成了一个图状结构,我们称之为对象图。简单来说,对象图就是内存中一组相互引用的对象的集合。假设我们有Author(作者) 和Book(书籍) 两个实体类,一个作者可以写多本书。java运行@Entity@Id。
2025-12-31 13:33:58
625
原创 mysql-8.4.7-winx64.zip 安装/运行
核心步骤:解压→配环境变量→建 my.ini→初始化(记临时密码)→装服务→启动→改密码。关键注意点:路径不能有中文 / 空格、必须用管理员 CMD 操作、初始化的临时密码一定要保存。启动失败排查:检查 VC++ 运行库、my.ini 路径是否正确、3306 端口是否被占用。如果安装过程中遇到具体报错(比如启动服务提示 1067 错误),可以告诉我报错信息,我帮你定位问题。
2025-12-27 10:55:21
1094
原创 springboot maven项目 集成org.mapstruct.Mapper
java运行// 源对象:UserDO(数据库实体)@Data // Lombok 注解// 字段名不一致示例// 目标对象:UserVO(前端展示)@Data// 对应 id// 对应 userName// 格式化后的创建时间通过@Mapper注解声明映射接口,指定让 Spring 管理 Bean:java运行/*** 映射接口* componentModel = "spring":生成的实现类会被 Spring 扫描为 Bean*/// 字段映射规则。
2025-12-26 14:07:34
382
原创 Spring 订阅发布模式(事件驱动模型)
Spring 订阅发布模式基于 观察者设计模式,通过 ApplicationEvent (事件)、 ApplicationListener (监听器/订阅者)、 ApplicationEventPublisher (发布者)三者协同实现,核心用于解耦组件间通信,适用于业务逻辑分离(如操作日志记录、异步通知、状态变更回调等场景)。System.out.println("异步监听:向用户[" + event.getUsername() + "]发送欢迎短信(异步执行,不阻塞主流程)");
2025-11-06 08:52:05
531
原创 Vue项目请求转发,接口代理
前端请求 http://localhost:8081/api/user → 转发到 http://localhost:3000/user (因 pathRewrite 去掉了 /api )。- pathRewrite :可选,若后端接口本身就包含 /api 前缀(如 http://localhost:3000/api/user ),则无需重写(删除该配置)。target: 'http://localhost:3000', // 2. 目标后端接口地址(真实接口域名/IP)
2025-10-31 00:16:13
925
原创 CSS Sass Less 样式&.xxx讲解
这里的 &.active 就是选中同时具有 button 和 active 两个类的元素,而不是选中 .button 内部的 .active 元素(后者写法是 .button .active ,有空格)。在 CSS(尤其是使用 Sass/Less 等预处理器时)中, &.xxx 表示选中“当前选择器所匹配的元素”同时还拥有 class 为 "xxx" 的元素。.button.active { /* 匹配同时有 .button 和 .active 类的元素 */
2025-09-03 21:22:03
318
原创 Java如何在遍历集合前判断集合是否为空
这是因为增强 for 循环本质上是对迭代器(Iterator)的包装,在循环开始时会隐式调用。因此,在使用增强 for 循环遍历集合前,需要确保集合对象不为。通过以上方式,可以安全地在遍历集合前判断其状态,避免空指针异常。这两种情况的处理方式不同,通常需要结合判断。在 Java 中,当使用增强 for 循环(,调用其方法就会触发空指针异常。直接判断引用是否指向。方法(推荐),或判断。而导致的运行时异常。
2025-08-28 17:53:11
520
原创 SpringBoot事务@transactional 失效分析-2
在 Spring Boot 中,注解用于声明事务,但实际开发中可能会遇到事务不生效的情况。这通常与 Spring 事务的实现原理、注解使用方式或环境配置有关。
2025-08-27 15:54:48
814
原创 PostgreSQL中的json_agg()
将查询结果中的多行数据转换为JSON数组格式,每行数据作为数组中的一个元素24。是一个聚合函数,用于将多行数据聚合为一个JSON数组。对于大规模数据,建议结合索引使用,并避免在聚合函数内进行复杂计算78。支持多层嵌套聚合,适用于复杂数据结构。配合,动态构建JSON对象并聚合为数组。若聚合结果包含重复数据,需在聚合前使用。类型,需显式转换以避免类型错误6。确保JSON数组元素按指定规则排列2。若需对聚合结果分页,可通过子查询或。PostgreSQL中的。
2025-08-18 14:48:56
576
原创 postgresql数据库,多库表结构版本差异对比方案(笔记)
1.利用postgresql的系统表或者视图,提取库的所有表字段\2.为步骤1的数据,创建临时表,并导入数据3.分析数据,缺少的表或者缺少的字段3.2.-- 缺少的字段。3.1.-- 缺少的表。
2025-08-15 15:29:47
308
原创 SpringBoot面试基础知识
自动配置:根据类路径下的依赖自动配置 Spring 组件(如引入 spring-boot-starter-web 会自动配置 Tomcat、SpringMVC 等)。- 起步依赖(Starter):将常用依赖打包,如 spring-boot-starter-data-jpa 包含 JPA 相关的所有依赖,无需手动管理版本。- MyBatis:通过 mybatis-spring-boot-starter 集成,简化 mapper 扫描和配置。- 如何禁用某个自动配置类?
2025-07-26 10:42:22
452
原创 Java 8 异步编程和非阻塞操作工具 CompletableFuture
是 Java 8 引入的一个强大工具,用于处理异步编程和非阻塞操作。它实现了Future和接口,结合了两者的功能,使异步编程更加灵活和高效。
2025-07-13 12:16:11
267
原创 JavaScript 正则表达式
JavaScript 正则表达式(Regular Expression)是用于匹配字符串模式的强大工具。以下是关于 JavaScript 正则表达式的详细介绍:正则表达式使用斜杠 包围模式,或通过 构造函数创建:常用标志(flags)::检查字符串是否匹配模式,返回 或 。 :返回匹配结果的数组,或 。 :返回匹配结果的数组,或 。 :替换匹配的字符串。 :根据正则表达式分割字符串。 示例:验证邮箱格式注意事项 转义字符:
2025-06-16 10:03:44
827
原创 javaScript 对象的深拷贝与浅拷贝
JavaScript中对象拷贝分为浅拷贝和深拷贝。浅拷贝创建新对象但共享引用属性,常用方法有扩展运算符、Object.assign()和手动复制。深拷贝递归复制所有属性,实现完全独立,可通过JSON方法或递归函数实现,但需注意特殊对象处理问题。实际开发中应根据需求选择,复杂深拷贝可使用Lodash的_.cloneDeep方法。
2025-06-16 09:29:38
324
原创 CSS 外边距合并(Margin Collapsing)问题研究
在 CSS 中,margin-top 属性会导致外部 DIV 移动的现象主要是由于 外边距合并(Margin Collapsing) 造成的。这是 CSS 盒模型的一个特性,可能会与直觉相悖。
2025-06-12 10:53:35
346
原创 常用css样式大全
14||字体||{font-stretch:condensed|expanded|extra-condensed|extra-expanded|inherit|narrower|normal| semi-condensed|semi-expanded|ultra-condensed|ultra-expanded|wider}5||垂直对齐||{vertical-align:inherit|top|bottom|text-top|text-bottom|baseline|middle|sub|super}
2025-05-27 16:40:08
589
原创 CSS Position(定位)
CSS 的position属性在网页布局中至关重要,它能精准调控元素在页面里的呈现位置。下面为你详细介绍这个属性的主要取值及其运用场景。
2025-05-21 17:09:00
498
原创 CSS display有几种属性值
属性是控制元素布局和渲染方式的核心属性之一。它有多种属性值,每个值都决定了元素在文档流中的表现形式。是构建复杂布局的首选方式,而传统的表格布局和浮动已逐渐被淘汰。根据具体需求选择合适的。值,可以大幅提升布局效率和代码可维护性。
2025-05-20 11:28:11
598
原创 CSS可以继承的样式汇总
定位属性:包括 position (定位方式)、 top 、 right 、 bottom 、 left (定位偏移量)以及 z - index (元素堆叠顺序),这些属性是针对特定元素的定位和层级设置,不会被子元素继承。并非所有CSS属性都能继承,比如 width (宽度)、 height (高度)、 margin (外边距)、 padding (内边距)、 border (边框)等属性通常是不继承的,它们需要为每个元素单独设置。若父元素有列表相关样式设置,子列表元素会继承这些样式。
2025-05-13 17:45:06
602
原创 前端工程化-包管理NPM-package.json 和 package-lock.json 详解
package.json 是 Node.js 项目的核心配置文件,它定义了项目的基本信息、依赖项、脚本命令等。
2025-04-12 23:49:21
1375
原创 Typescript export 导出分析-是引用还是值的形式?
typescript export 导出对象分析 总结来说,原始类型是按值导出,对象、数组和函数则是按引用导出。TypeScript 中导出类是按引用形式,即导出的是类定义的引用。不过,每次实例化类时会创建独立的对象实例。
2025-03-29 01:27:44
699
原创 pom.xml与.yml,java配置参数传递
在 Java 项目中,**Maven (`pom.xml`)** 和 **Spring Boot (`application.yml`)** 都使用 `${}` 格式的占位符,但两者的解析阶段不同(构建时 vs. 运行时),直接使用相同符号会导致冲突。在Java项目中,通过 `pom.xml` 和 `.yml` 文件(如 `application.yml`)传递变量通常涉及 **构建时**(Maven)和 **运行时**(Spring Boot)两个阶段的配置。
2025-03-27 22:36:51
867
原创 【数据库事务、消息队列事务、Redis 事务、Spring 事务 详细分析】
数据库事务、消息队列事务、Redis 事务、Spring 事务** 的详细分析在分布式系统和应用开发中,事务管理是确保数据一致性和可靠性的关键机制。以下是针对的详细分析,包括原理、特点、适用场景和对比总结。
2025-03-26 07:28:50
1338
1
原创 java牛排烧烤技术
订单处理中心(传菜系统):Spring Boot 3.x + Spring Cloud Alibaba。- 前端展示层(透明橱窗):Vue.js + WebSocket 实时展示烧烤状态。- 口感缓存层(保温柜):Redis 7.0 集群 + Redisson 分布式锁。- 香味扩散系统(香气管理):RocketMQ 5.0 多级香味队列。- 烧烤核心引擎(主厨团队):Reactor 3 响应式编程。// 预热烤架(线程池预热)- 数据存储窖(食材冷库):TiDB 分布式数据库。
2025-03-22 07:54:23
917
原创 Spring Boot中接口数据字段为 Long 类型时,前端number精度丢失问题解决方案
不过,JavaScript中 Number 类型的安全整数范围是 -2^53 到 2^53 ,如果 Long 类型的值超出这个范围,在前端JavaScript处理时可能会出现精度丢失问题。例如,一个Java对象中有一个 Long 类型的属性 id ,值为 1234567890123L ,在返回的JSON中会表示为 {"id":1234567890123}。在Spring Boot中,当接口数据字段为 Long 类型时,返回页面的JSON中该字段通常会被序列化为数字类型。
2025-03-21 12:55:35
857
原创 基于MySQL的创建<resultMap>和查询条件<if test>
基于MySQL的创建<resultMap>和查询条件<if test>基于MySQL的创建<resultMap>和查询条件<if test>
2025-03-19 11:40:55
306
原创 基于MySQL的创建Java实体Bean和TypeScript实体Bean
【代码】基于MySQL的创建Java实体Bean和typeScrit实体Bean。
2025-03-19 11:06:14
226
原创 uniapp中,单选按钮组回显不起作用
例如,在 onLoad 或 onReady 钩子函数中获取数据并赋值给 v - model 绑定的变量,确保在组件渲染前数据已准备好。检查在不同平台(如微信小程序、H5、APP等)上是否都存在回显问题,如果仅在某个特定平台出现问题,可能需要针对该平台进行特殊处理。确保uniapp版本是最新稳定版,有时旧版本可能存在一些已知的兼容性或功能问题,更新版本可能会解决回显问题。确认 v - model 绑定的变量在数据初始化时是否被正确赋值,若没有初始值,可能导致回显失败。
2025-03-13 18:40:33
627
转载 【理解异步函数async和await的用法 - 优快云 App】
【理解异步函数async和await的用法 - 优快云 App】https://blog.youkuaiyun.com/weixin_45811256/article/details/123638582?
2025-02-09 14:07:50
52
原创 MyBatis-Plus中AbstractJsonTypeHandler使用小结
这样,在对包含 jsonDataField 字段的实体进行数据库操作时,MyBatis-Plus 就会自动使用自定义的 CustomJsonTypeHandler 来处理该字段的 JSON 数据转换。@TableName("your_table_name") public class YourEntity { // 其他字段...在 MyBatis-Plus 中, AbstractJsonTypeHandler 是一个用于处理 JSON 数据类型的抽象类。} 2. 在实体类中应用。
2024-11-02 00:49:41
1169
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅