自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hanker的博客

前端知识的搬运工

  • 博客(178)
  • 收藏
  • 关注

原创 前端转后端入门实践日志2-nacos

已完成分析,共参考 12 篇资料Nacos 可以理解为微服务架构里的 “服务注册中心 + 配置中心 + 服务管理平台”。在 Spring Boot 多项目里,它主要解决两件事:服务之间怎么互相找到,以及配置怎么统一管理、动态刷新。上面的解释好官方啊,我的理解把写在application.yml里的配置,统一让nacos管理。

2026-10-21 11:38:25 194

原创 springboot里 @FeignClient

假设你有两个服务 order-service 和 oa-service,它们是两个独立的 Spring Boot 应用,分别运行在不同的 JVM 进程里,甚至部署在不同的服务器上。这个文件是一个 OpenFeign 客户端接口,作用是:让当前微服务可以像调用本地方法一样,去调用另一个微服务的 HTTP 接口。微服务架构下,跨服务本来就不能直接注入 Bean,Feign 只是让这种跨服务调用变得更优雅、更安全、更好维护。注意这是微服务里用到的, 比如起了2个服务。

2026-10-16 11:31:23 153

原创 嵌入app里html页面加入VConsole

【代码】嵌入app里html页面加入VConsole。

2026-10-14 14:02:20 46

原创 nginx配置里带不带斜杠的问题

别纠结 location 要带/ , proxy_pass也要带斜杠, 精确匹配。

2026-10-08 14:49:53 15

原创 SQL语法多数据分析

首先分组是一行非常经典且巧妙的 SQL 逻辑,通常被称为条件聚合(Conditional Aggregation)只要该项目下存在任意一条 inve_role = ‘1’ 的记录,该项目的 lead_flag 就会被标记为 1;否则为 0。

2026-08-26 13:19:29 216

原创 前端转后端入门实践日志1-配置环境

作为小白,公司让做后端的项目, 给了git地址 如何启动项目?记录一下同事帮我配环境的操作。

2026-08-25 15:15:10 240

原创 SQL语法 某个字段逗号分隔匹配

统计指定成员参与跟进的项目数量使用字符串处理技巧解决逗号分隔值的精确匹配问题通过动态 SQL 实现条件查询当未指定成员时返回 0 结果虽然功能上能实现需求,但从数据库设计角度考虑,建议进行表结构优化以提高查询性能和可维护性。

2026-08-12 10:55:49 231

原创 SQL语法 一个统计的查询

这个 SQL 语句是一个典型的个人数据统计查询安全性:使用参数化查询防止 SQL 注入健壮性:全面处理 NULL 值和边界条件模块化:不同统计维度分离,便于理解和维护可扩展:预留字段支持未来功能扩展业务导向:紧密围绕项目管理的核心指标设计确保传入参数的合法性验证监控大数据量下的查询性能根据业务发展适时调整统计逻辑。

2026-08-12 10:45:50 182

原创 List model转vo

【代码】List model转vo。

2026-08-04 13:30:16 225

原创 SQL语法 BETWEEN ... AND ..., >=, <=

BETWEEN … AND … 是 SQL 中专门用于范围查询的运算符。它的基本作用是筛选出某个字段值在指定区间内的数据。

2026-07-28 10:32:15 274

原创 SQL语法 , BETWEEN ... AND ...,比较运算符

日期格式转换 用 TO_DATE,TO_CHAR,STR_TO_DATE, DATE_FORMAT那sql 日期范围查询如何处理呢?

2026-07-28 10:03:30 198

原创 SQL语法 字符串拼接

Oracle 也支持 CONCAT() 函数,但它只支持两个参数如果要拼接多个字符串,只能嵌套使用(如 CONCAT(CONCAT(‘A’,‘B’),‘C’)),所以实际开发中更推荐使用 || 运算符。

2026-07-28 09:45:44 230

原创 SQL语法 NVL,COALESCE

NVL 是 Oracle 数据库的专有函数最佳实践建议与 DECODE 类似,如果你希望你的 SQL 代码具备跨数据库兼容性,强烈建议使用 ANSI SQL 标准函数 COALESCE 来替代 NVL。COALESCE 不仅能在所有主流数据库中通用,而且支持传入多个参数(COALESCE(val1, val2, val3…)),按顺序返回第一个非空值,功能比 NVL 更强大。

2026-07-28 09:40:04 164

原创 SQL语法 ROW_NUMBER, WITH ... AS

上面有个完整的语法, 我们学习一下。

2026-07-27 11:42:22 195

原创 sql语法 DECODE, CASE ... WHEN

DECODE 是 Oracle 数据库的专有函数, MySQL 和 SQL Server 并不原生支持 DECODE 函数。默认语法由此可知, 最后一个是默认值奖金计算方式,department_id: 10, 薪资0.1;20,薪资0.15上面的代码是处理空值的, 如果为null,则是0, 否则输出原值功能限制:DECODE 只能进行等值判断(=),不支持大于(>)、小于(<)或 IN 等范围比较。如果逻辑复杂,CASE WHEN 会更加灵活。

2026-07-27 10:41:49 244

原创 mybatis-plus service层拥有的方法

前文我们学习了lambdaQuery() ,这个事不过是service层里一个普通的链式调用方法,他还有其他很多的方法在 MyBatis-Plus 中,Service 层的核心是 IService 接口及其默认实现类 ServiceImpl。它们进一步封装了 CRUD 操作,采用了 get(查询单行)、list(查询集合)、remove(删除)、save(新增)、update(更新)、page(分页)等前缀命名方式,以区分 Mapper 层并避免混淆。

2026-07-16 11:43:07 255

原创 mybatis-plus 常用方法之lambdaQuery, LambdaQueryWrapper

在 Spring Boot 中,只要让 Service 实现类继承 MyBatis-Plus 提供的 ServiceImpl,就可以直接使用 lambdaQuery() 方法进行链式查询。

2026-07-16 11:19:58 284

原创 mybatis-plus mapper 常用方法

lambdaQuery().one() 和 selectOne() 都是 MyBatis-Plus 中查询单条记录的方法,但它们所属的层级不同、使用方式不同、行为也有差异。继承 ServiceImpl 层的service 也具有调用mybatis-plus里方法的能力。在学习的时候, 发现 lambdaQuery().one()这些方法都是mapper层的 是mapper. 调用的。

2026-07-15 18:08:37 284

原创 springboot 序列化/反序列化

对于我们新手来说,似乎按照对应的规则配置, 就能接受返回参数, controller层上得到或返回一个对象;其实内部有个序列化/反序列化操作,上文实体类的注解就需要我们理解一下这些逻辑了。

2026-07-15 11:09:24 204

原创 mybatis-plus 实体类注解解释

我们先看父类里面的注解。

2026-07-15 10:51:56 320

原创 sql语法 日期函数,TO_DATE,TO_CHAR,STR_TO_DATE, DATE_FORMAT, >=,TRUNC

简单记:Oracle 用 TO_DATE / TO_CHAR,MySQL 用 STR_TO_DATE / DATE_FORMAT,功能一一对应,只是函数名和格式符写法不同。

2026-07-14 11:27:09 276

原创 sql语法 MyBatis <foreach> 标签详解

是 MyBatis 中用于遍历集合/数组的动态 SQL 标签,常用于 IN 查询、批量插入等场景。

2026-07-09 13:35:24 246

原创 mybaits 参数问题

Param(“searchBean”) 的作用就是给 Map 参数起个别名,让 XML 中可以通过 searchBean.xxx 的方式访问 Map 里的值。在 MyBatis 的 Mapper 接口中,当方法参数是 Map 类型时,加上 @Param(“searchBean”) 注解,是为了给这个 Map 参数起一个别名,方便在 XML 映射文件中引用。当你没有使用 @Param 注解时,MyBatis 会按照参数的顺序,自动给它们分配默认名称:param1、param2、param3……

2026-07-09 09:33:50 187

原创 Java Lambda 表达式

Java 8的Lambda表达式是函数式编程的核心特性,允许以简洁语法编写匿名函数。其基本语法为(参数)->{方法体},需配合单抽象方法的函数式接口使用。相比匿名内部类,Lambda更轻量、性能更优,通过invokedynamic实现。典型应用场景包括线程创建、Stream流操作(filter/map)、集合遍历(forEach)和排序(Comparator)等,能显著简化代码。关键区别在于Lambda不创建新类、this指向外部类,且只能引用final局部变量,使代码更简洁高效。

2026-07-08 11:12:05 185

原创 User::getName — 方法引用

里 User::getName 是什么意思意思很明白返回但User::getName 为什么这样写?User::getName 是 Java 8 引入的方法引用语法,它是 Lambda 表达式的简写形式。等价于super T,?所以编译器会自动把 User::getName 转换成对应的 Function// 写法一:方法引用(最简洁)// 写法二:Lambda 表达式// 写法三:匿名内部类(最啰嗦)@Override})三种写法效果完全一样,推荐用写法一(方法引用)

2026-07-08 10:44:11 299

原创 java Function介绍

Function<T, R> 是 Java 8 引入的函数式接口,位于 java.util.function 包中,代表一个接受一个参数并返回结果的函数。Stream 中的 map()PO → VO 转换。

2026-07-08 10:37:25 225

原创 重新认识枚举enum

在 Java 中,enum(枚举)是一种特殊的类,用于定义固定数量的常量集合。它从 JDK 5(Java 1.5) 开始引入,目的是替代传统的 public static final int 常量,提供类型安全、可读性强、功能丰富的常量管理方式扩展相当于// ... 其他常量 private Day(String name , int ordinal) {/* 返回所有常量 */ } public static Day valueOf(String name) {

2026-07-06 13:59:03 189

原创 @Lazy

Lazy 是 Spring 框架中的一个注解,用于控制 Bean 的加载时机,实现延迟初始化(Lazy Initialization)。它的核心作用是:推迟 Bean 的创建,直到第一次被实际使用时才初始化,而不是在 Spring 容器启动时就立即创建。@Lazy 推迟初始化的“第一次使用”,确实包括通过 @Autowired 或 @Resource 注入后的首次方法调用。特别是当你在注入点上加上 @Lazy 时,Spring 会使用代理实现真正的“按需初始化”。2. 将后续调用委托给真实对象。

2026-07-06 13:12:01 219

原创 sql语法 子语句 放在 select / from 后面

在 SQL 中,SELECT 后面不能直接接一个完整的“子语句”(即另一个 SELECT 语句)作为普通列,除非这个子查询满足特定语法要求。✅ 正确用法:SELECT 后的子查询必须是 标量子查询(Scalar Subquery)这是合法的,但这是 FROM 后的子查询,不是 SELECT 后。替代方案:用 JOIN 代替标量子查询(推荐)FROM (子查询)

2026-07-02 14:41:11 143

原创 sql-语法 mybatis resultType=“string“

resultType=“string” 完全可以映射为 List 或 String,这是 MyBatis 中非常常见且标准的用法。

2026-07-02 14:29:41 215

原创 sql-语法 UNION, UNION ALL

UNION ALL 是 SQL 中用于合并多个 SELECT 查询结果集的操作符。它与 UNION 类似,但有一个关键区别:UNION ALL 保留所有行(包括重复行),而 UNION 会自动去重。在大数据量下,UNION 可能因去重操作触发临时表写入和内存溢出,而 UNION ALL 几乎无额外开销,速度通常快 3–5 倍。

2026-07-02 14:25:12 241

原创 sql语法- MyBatis 中 <collection> 标签的作用 1对多的情况

MyBatis 中 标签的这段配置这是 MyBatis 用于处理 一对多(1:N)关联关系 的核心配置。下面逐项解析其含义,并结合例子说明。

2026-07-02 10:40:11 297

原创 sql语法- MyBatis 中 <association> 标签的作用 1对1的情况

我们仔细的看下查询 首先使用了 resultMap , 映射类型都是type=“com.purvar.petou.ei.model.ProjInfoModel” 第二个resultMap 有个 extends=“ProjInfoResult” 就是继承了第一个resultMap 的所有属性,应该也可以合写。之前我们都是普通查询, 现在我们有个疑问如果出现下面的定义的model 数据库能直接查询么, 就是sql查询出来能够映射 对象作为另外一个对象的属性。

2026-07-02 10:33:31 157

原创 sql语法-批量插入

【代码】sql语法-批量插入。

2026-06-30 18:02:21 34

原创 sql语法-分页

【代码】sql语法-分页。

2026-06-30 16:08:56 23

原创 sql语法-用于限制查询结果只返回第一行的语法

⚠️ 但注意:ROWNUM 是在排序前分配的,所以如果要按某个字段排序后取第一条,必须用子查询!适用于所有 Oracle 版本, 这是最经典、兼容性最好的方式。建议加上 NULLS LAST 避免 NULL 被误认为最新。确保 NULL 的记录不会被误认为“最新”外层 ROWNUM = 1 取第一行。limit 是mysql 的用法。内层 ORDER BY 先排序。

2026-06-30 16:03:53 216

原创 sql语法 - WITH, ROW_NUMBER, 经典用法

ROW_NUMBER() 是 SQL 中一个非常重要的窗口函数(Window Function),用于为查询结果集中的每一行生成唯一的、连续的整数序号(从 1 开始)。这里 AS 后面是查询语句作为一个结果(可以当做一个表) 给后面的SELECT使用。注意:ROW_NUMBER() 只影响行号生成逻辑,不改变最终结果集的物理顺序。如果你想让查询结果也按某个顺序显示,仍需在主查询中加 ORDER BY。这是 SQL 中实现“Top-N per Group”最常用的方法。

2026-06-30 14:26:59 209

原创 sql语法 - 根据条件, 生成额外一个新字段 CASE WHEN ELSE END AS

这通常用于前端展示或业务逻辑判断,例如。

2026-06-30 11:38:54 235

原创 sql语法- 配合mybatis-plus 返回boolean

where判断语句相当于下面 and 优先级高于or。

2026-06-30 11:23:22 27

原创 Map 数据,并对其进行字段筛选、重命名或新增属性

这里使用了 convertValue 方法 springboot默认的方法。

2026-06-03 10:19:04 26

空空如也

空空如也

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

TA关注的人

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