自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

原创 创建vue项目

执行 npm run dev。终端执行 npm i。

2025-07-22 19:49:54 145

原创 @RestController 与 @Controller 注解说明

摘要:本文对比了Spring框架中@Controller和@RestController两个注解的区别。@Controller用于传统MVC模式,默认返回视图名称,需配合@ResponseBody才能返回数据;@RestController是组合注解,默认所有方法返回值直接作为HTTP响应体,适用于RESTful API开发。文章通过代码示例展示了两种注解的使用方式,并总结了它们各自的适用场景:@Controller适合返回页面的传统Web应用,@RestController更适合返回JSON/XML等数据

2025-07-22 19:48:25 385

原创 MyBatis-Plus 配置与使用指南

MyBatis-Plus配置与使用指南提供了完整的整合步骤:首先添加Maven依赖并排除冲突组件;其次配置数据源和MyBatis-Plus参数;然后创建带注解的实体类;接着定义继承BaseMapper的接口并配置扫描路径;最后演示基本CRUD操作。该框架通过@TableName等注解简化ORM映射,内置通用Mapper方法减少SQL编写,支持逻辑删除等全局配置,并提供SQL日志输出功能,能显著提升开发效率。

2025-07-18 22:29:16 935

原创 逻辑删除实现及配置说明

本文介绍了逻辑删除的实现方法,通过配置MyBatis-Plus实现数据标记而非物理删除。主要内容包括:1)数据库添加is_deleted字段;2)实体类使用@TableLogic注解;3)服务层调用MP方法自动执行逻辑删除;4)yml文件配置全局规则。系统会自动将删除操作转为更新,并在查询时过滤已删除数据。这种方式既保留历史数据又简化开发,适用于需要数据追溯的场景。

2025-07-18 22:24:10 409

原创 mybatisplus分页查询

本文介绍了使用MyBatis-Plus实现分页查询的完整方案。代码分为Controller层和Service层,包含参数获取、条件构建、分页查询等关键步骤。重点讲解了IPage分页对象的使用,包括其核心属性和常用方法,并对比了不可变分页和可变分页的适用场景。同时说明了排序方法的参数配置,通过动态条件构建和统一分页封装,实现了灵活高效的分页查询功能,便于前后端交互和数据展示。

2025-07-18 22:19:42 741

原创 resultMap

MyBatis-Plus与MyBatis在结果集映射上存在显著差异:MyBatis-Plus通过自动映射功能实现数据库列与实体属性的匹配,基于驼峰命名规则和元数据解析,内置多种映射处理器,仅在特殊情况下需要手动定义resultMap;而MyBatis必须通过resultMap显式配置映射关系,特别是在列名不匹配或处理复杂结果集时。MyBatis-Plus的自动映射机制包括命名约定、元数据解析、内置处理器和插件扩展四个核心功能,简化了开发流程。

2025-07-18 22:14:56 215

原创 # MyBatis-Plus 通常不需要使用 PageHelper 插件

摘要:MyBatis-Plus内置强大分页功能,无需额外使用PageHelper。其通过拦截器自动实现SQL分页改写,支持多种数据库,并允许功能扩展。配置示例展示了如何为MySQL/PostgreSQL设置分页插件(含乐观锁功能),只需指定数据库类型即可自动适配分页语法。相比PageHelper需要手动调用startPage(),MyBatis-Plus的分页更简洁高效,且避免了兼容性问题,但特殊需求时两者可共存(需注意配置冲突)。

2025-07-18 22:13:32 219

原创 MyBatis-Plus 的自动填充功能

这是因为自动填充是通过 MyBatis-Plus 的拦截器机制实现的,而自定义 SQL 或手动 SQL 语句不会经过这些拦截器。当你调用 BaseMapper 的insert()方法时,框架会检测字段的填充策略(如FieldFill.INSERT)并执行填充逻辑。自定义 SQL 的限制:如果你使用以下方式,自动填充将不会生效:自定义 XML 中的 SQL 语句。那么基于它自身封装的方法(如 updateById)来实现的,当使用自定义的 SQL 时,需要手动添加填充逻辑。

2025-07-18 22:10:20 415

原创 MyBatis-Plus 的乐观锁机制

要启用 MyBatis-Plus 的乐观锁机制,在更新操作时必须确保传递给更新方法的实体对象中 version 字段有值。

2025-07-18 22:06:56 221

原创 mybatislog插件

在 application.yml 或 application.properties 中配置 MyBatis 的日志输出,确保 SQL 语句能够正常输出到控制台。如果使用的是自定义的日志框架(如 Logback、Log4j),需要确保日志级别配置正确,以便能够看到 SQL 语句的输出。通过以上步骤,你就可以在开发过程中方便地使用 MyBatis Log 插件查看完整的 SQL 语句,提高开发效率。插件会自动将带有占位符的 SQL 语句和参数进行合并,生成完整可执行的 SQL 语句,方便你查看和调试。

2025-07-18 21:59:21 655

原创 .sort(Comparator.comparing()) 的各种排序方式

【代码】.sort(Comparator.comparing()) 的各种排序方式。

2025-07-18 21:56:40 220

原创 实体类多对一关系

JoinColumn(name = “operate_log_id”, nullable = false):在数据库层面,会在 OperatePosition 表中创建一个名为 operate_log_id 的外键列,以此来关联 OperateLog 表的主键,并且该外键列不允许为空。OperatePosition(操作坐标):作为关系里的 “多” 方,记录了某次操作的具体坐标,而且每个坐标都和唯一的操作日志相对应。操作位置OperatePosition:多。操作记录OperateLog:一。

2025-07-18 21:55:16 375

原创 BeanUtils忽略属性

在上述代码里,BeanUtils.copyProperties(dbData, room, ignoreProperties) 方法会复制 room 对象的属性到 dbData 对象,同时忽略 ignoreProperties 数组里的属性,如此就能避免继承的属性被覆盖。BeanUtils.copyProperties 有一个重载方法,允许你指定要忽略的属性。你可以把继承类的属性添加到忽略列表中。

2025-07-18 21:50:20 256

原创 springdoc-openapi 为 Swagger 实现分组功能

【代码】springdoc-openapi 为 Swagger 实现分组功能。

2025-07-18 21:47:37 419

原创 Spring Cloud OpenFeign

【代码】Spring Cloud OpenFeign。

2025-07-18 21:44:09 295

原创 RestTemplate发送请求

/ 准备请求体// 设置请求头// 创建HttpEntity对象// 使用exchange方法发送POST请求url,MyResponseType.class // 指定响应类型。

2025-07-18 21:34:13 435

原创 axios请求各种类型

headers: 设置请求头(如 {‘Authorization’: ‘Bearer token’})withCredentials: 是否携带跨域凭证(如 cookie)params: 用于 GET 请求的查询参数(自动编码到 URL)data: 用于 POST/PUT 请求的请求体数据。用于删除资源,参数可以通过 URL 或请求体传递。timeout: 请求超时时间(毫秒)

2025-07-18 21:24:19 312

原创 两个表分页查询

【代码】两个表分页查询。

2025-02-22 16:57:43 166

原创 批量添加(两个表)

【代码】批量添加(两个表)

2025-02-22 16:38:27 274

原创 公共字段填充

进入到sky-server模块,创建com.sky.annotation包。

2025-02-22 12:35:09 446

原创 springboot初始化代码

配置。

2025-02-22 11:25:46 333

原创 后端统一返回结果

【代码】后端统一返回结果。

2025-02-22 11:22:02 219

原创 pdmaner

PDMan数据库建模

2024-12-23 16:55:02 210

原创 代码管理工具

SourceTreee git管理工具。FinalShell shell 链接工具。postman 接口调试工具。

2024-12-09 14:49:56 160

原创 hashmap嵌套

获取键set:.keySet()内层可以输出set和value。.get(循环中定义的键名)再从内层hash获取键set。在循环中获取内层hash表。

2024-12-01 15:58:07 246

原创 牛客刷题 数据库专项练习

读"脏"数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤消,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为"脏"数据,即不正确的数据。数据库范式也分为1NF,2NF,3NF,BCNF,4NF,5NF。外模式是具体的用户模式(每个用户只能看到和访问骑对应的外模式的 数据),描述的是数据的局部逻辑结构。数据的逻辑独立性是指数据库逻辑结构的变化(如数据定义的修改、数据间联系的变更等)不影响用户的应用程序。

2024-10-16 00:56:15 712 1

原创 牛客刷题 队列专项练习

而带链的队列,由于每个元素都包含一个指针域指向下一个元素,当带链队列为空时 front=rear=Null ,插入第 1 个元素时, rear+1 指向该元素, front+1 也指向该元素,插入第 2 个元素时 rear+1 , front 不变,删除 1 个元素时 front+1。对于序列( 12 , 13 , 11 , 18 , 60 , 15 , 7 , 19 , 25 , 100 ),用筛选法建堆,必须从值为 ________ 的数据开始建初始堆。该队列中的元素个数为( )

2024-10-14 13:38:33 664

原创 牛客刷题 栈专项练习

4)存储内容的不同:栈在函数调用时,函数调用语句的下一条可执行语句的地址第一个进栈,然后函数各个参数进栈,其中静态变量是不进栈的,而堆中一般是在头部用一个字节存放堆的大小,堆中的具体内容是人为安排的;链栈由于采用了链表的方式作为存储方式,入栈时,使用malloc申请空间后,用指针相连接,所以节点个数没有限制,但是出栈时,如果栈中的元素个数为0,则不能继续出栈,栈长:s.top+1;出栈操作x=s.data[--s.top];若5出栈时,栈的情况为1,2,4,5,那么5的前一个出栈为3,后一个出栈为4。

2024-10-14 13:09:45 380

原创 牛客刷题day3

27.下面数组定义错误的是(D)//数组定义好了数组内值,不需要定义长度。

2024-10-09 19:35:05 250

原创 牛客刷题day2

2.其次,需要理解子类覆盖父类方法的问题,也就是方法重写实现多态问题。这里的str2必须在运行时才知道str2是什么,所以它是指向的是堆里定义的字符串“hello”,所以这两个引用是不一样的。这里的str1指的是方法区的字符串常量池中的“hello”,编译时期就知道的;其中:类中静态块按照声明顺序执行,并且(1)和(2)不需要调用new类实例的时候就执行了(意思就是在类加载到方法区的时候执行的)题中父类初始化调用的方法为子类实现的方法,子类实现的方法中调用的baseName为子类中的私有属性。

2024-10-08 22:38:47 897

原创 牛客刷题day1

总的来说,执行的顺序是一致的。},java判断处为boolean类型,应该如j==3,j>1之类才行;(3)接口中常规的来说不能够定义方法体,所以无法通过get和set方法获取属性值,所以属性不属于对象,属于类(接口),因为默认使用static修饰。1.若catch(){}、finally{}块中,如果有throw 语句,则,try{}catch(){} finally{}块之外的代码不执行。(2)如果属性是基本数据类型,需要赋初始值,若是引用类型,也需要初始化,因为默认有final修饰,必须赋初始值;

2024-10-08 21:36:12 1010

原创 java中操作redis

规范配置dev:引用:redisTemplate。

2024-10-08 17:19:55 311

原创 redis学习

hashmap根据分数排序升序排列给元素增加值删除del可以批量删。

2024-10-08 16:49:46 572

原创 redis安装配置

exit退出cli。

2024-10-08 15:57:01 347

原创 Redis启动时报错: Creating Server TCP listening socket 127.0.0.1:6379: bind: No error

Redis启动时报错: Creating Server TCP listening socket 127.0.0.1:6379: bind: No error。这个错误说明已经开启了redis,并且已经占用了端口6379,需要停止redis后再开启。

2024-10-08 15:37:04 421

原创 自动填充 AOP注解

拦截mapper加注解实现过程。

2024-10-07 23:43:50 381

原创 mybatisplus分页插件

准备要分页的实体类继承分页实体。

2024-09-21 23:02:30 438

原创 mybatisplus JSON处理器

uservo中的info也要修改数据类型。

2024-09-21 20:52:43 518

原创 mybatisplus枚举处理器

GetterNORMAL(1,"正常"),LOCKED(2,"锁定");@EnumValue。

2024-09-21 20:29:34 491

原创 idea快捷键

ctrl shift f 全局查找关键字位置。ctrl f 查找本文件关键字位置。ctrl alt l 格式化代码。

2024-09-21 20:08:02 331

空空如也

空空如也

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

TA关注的人

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