自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java的switch的括号可以放几种类型

语句的表达式来进行匹配和判断。

2024-05-17 18:12:13 138

原创 JWT的详解

JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络应用间安全地传递信息。它是一种紧凑的、自包含的方式,用于在用户和服务之间以 JSON 对象的形式安全地传输信息。JWT 主要由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。包含了关于令牌类型和签名算法的元数据,通常包含两部分信息,令牌的类型(即 "JWT")和所使用的哈希算法(例如 HMAC SHA256 或 RSA)。包含了要传输的信息,以及其他元数据。

2024-05-17 17:57:05 961

原创 vue的const和let

无论是在 Vue 2 还是 Vue 3 中,`const` 和 `let` 都是用来声明变量的关键字,其区别主要在于变量的可变性。1. **const**: 使用 `const` 声明的变量是一个常量,意味着其值在声明后不能被修改。在 Vue.js 中,无论是 Vue 2 还是 Vue 3,`const` 和 `let` 的行为都与 JavaScript 标准中的行为一致。2. **let**: 使用 `let` 声明的变量是一个可变的变量,其值可以被修改。

2024-05-17 17:18:49 151

原创 关于数据结构的整理

B+ 树是一种多路平衡查找树,通常用于数据库索引结构,在B+树中,所有的关键字都被存储在叶子节点上,并按照顺序连接成一个有序链表。B+树具有很好的平衡性和高效性,适用于范围查询、顺序访问以及范围扫描等操作。B+树就像是一棵大树,帮助数据库系统高效地管理数据。这棵树有几个特点:多路平衡性: B+树很平衡,每个节点都可以有多个分支,保持了树的稳定和高效。关键字在叶子节点上: 所有的关键字数据都存在树的最底层,这些底层节点像是一条有序的链表,方便快速查找和按顺序访问数据。

2024-05-16 00:59:25 369

原创 关于索引的整理

单列索引只针对单个列创建的索引,适用于单个列查询时提高查询速度;组合索引是多个列同时创建的索引,适用于查询条件多时的情况,提高查询速度,支持多列的范围查询和排序操作。MySQL使用B-tree 索引和哈希索引来提高查询速度,在查数据的时候可以直接定位到符合查询条件的数据行,不需要全部扫描了。哈希索引使用哈希表数据结构,将索引键转换为哈希值,然后映射存储的位置,在等值查询时效率高,不支持范围查询和排序操作。有了索引之后在执行查询的时候只查索引中的部分数据,不扫描整个表了。3.主键索引:设主键自动为主键索引。

2024-05-16 00:38:58 238

原创 Ant Design Vue 的组件库的<a-tab-pane>的force-render

在使用类似 Ant Design Vue 的组件库时,`force-render` 属性通常用于指示是否强制渲染标签页的内容,即使它还没有被显示。通常,在一个标签页组件(如 `<a-tab-pane>`)中,内容只有在用户激活该标签页时才会被渲染。这种懒加载的方式有助于提高页面的初始加载性能,特别是当页面中有很多标签页时。

2024-05-15 11:20:16 232

原创 打开oracle数据库显示无监听

2024-05-15 09:24:17 229

原创 Java后端的字符串相等、集合非空判定

原始,在对集合进行操作之前,先检查集合是否为。之前显式地检查对象是否为。

2024-05-15 08:37:17 222

原创 vue3获取原始值

在 Vue 3 中,`_rawValue` 是 `ref` 内部的一个属性,它用来存储 `ref` 的原始值,也就是未经响应式处理的值。如果你需要获取未经处理的值,更加推荐的做法是在一个适当的生命周期钩子或计算属性中使用 `ref` 的 `value`,或者使用其他非侵入性的方法来处理值。虽然一般不推荐直接访问 `_rawValue`,因为它是一个内部实现细节,可能会在未来的 Vue 版本中发生变化,但了解它的存在对于理解 `ref` 的工作原理是有帮助的。这个值是未被 Vue 的响应性系统包装的原始值。

2024-05-10 11:07:15 232

原创 vue3的组件跳转

2024-05-10 10:40:56 80

原创 当前端Vue3为插槽添加单击事件但会立即执行的代码错误

在 `getTableAction` 方法中,通过使用箭头函数 `() => this.yulan(record)` 和 `() => this.xiazai(record)`,确保点击事件时调用相应的函数,而不是立即执行。- 在 Vue 组件中,使用 `this.yulan(record)` 和 `this.xiazai(record)` 来调用组件实例中定义的 `yulan` 和 `xiazai` 方法。- 确保 `record` 对象能够正确传递给相应的方法,以便在处理点击事件时使用。

2024-05-08 16:00:54 287

原创 父组件监听子组件事件

父组件引用子组件:<MonthlySummaryModal2 ref="registerModal2" @customEvent2="chongzai"/>子组件定义emit:function handeleCanleShijian(){ visible.value = false; emit('customEvent2','hello2') // location.reload();}当子组件的handeleCanleShijian事件运行时,父组件会监听到事

2024-04-30 16:53:47 67

原创 A-Table 组件自动分页

<a-table ref="table" :columns="columns" :data-source="data" size="large" bordered style="margin-left: 40px"> <template #bodyCell="{ column, text }"> <template v-if="column.dataIndex === 'name'"> <a>{{ text }}</a>

2024-04-30 16:51:07 108

原创 Flowable 流程案例

addClasspathResource("flowableresourse/firstflow.bpmn20.xml") // 部署一个流程。// 根据流程定义Id启动 返回的是当前启动的流程实例 ProcessInstance。.taskAssignee("lisi") // 根据审批人来查询。// 任务查询这块我们可以通过 TaskService 来实现。// 查询的其实就是 act_ru_task 中的记录。// act_re_procdef 表中的id。// 需要审批的任务 Id。

2024-04-24 10:57:06 400

原创 Hutools 的 DateUtil 类

`formatDateTime(Date date)`:将 Date 对象格式化为 "yyyy-MM-dd HH:mm:ss" 格式的字符串。- `formatDate(Date date)`:将 Date 对象格式化为 "yyyy-MM-dd" 格式的字符串。- `format(Date date, String format)`:将 Date 对象格式化为指定格式的字符串。- `formatTime(Date date)`:将 Date 对象格式化为 "HH:mm:ss" 格式的字符串。

2024-04-22 11:36:11 393

原创 Flowable 基本用法

Flowable 是一个基于 Java 的开源工作流引擎,用于实现和管理业务流程。它提供了强大的工作流引擎和一套丰富的工具,使开发人员能够轻松地建模、部署、执行和监控各种类型的业务流程。Flowable 是 Activiti 工作流引擎的一个分支,诞生于 Activiti 项目与 Alfresco 合并后的分裂,继承了 Activiti 的大部分特性并在此基础上进行了进一步的开发和改进。Flowable 提供了灵活且可扩展的工作流引擎,可以根据不同的业务需求定制和扩展业务流程。

2024-04-21 22:54:45 954

原创 JAVA的jBPM工作流框架

工作流(Workflow)是指将一个工作过程分解成一系列有序的任务、活动或操作,并定义它们之间的关系和依赖,以实现对工作流程的管理、控制和优化。在 Java 中,工作流通常是指使用 Java 技术来实现和管理工作流程的系统或框架。工作流 Java 可以用于管理和自动化各种类型的业务流程,如审批流程、订单处理流程、报销流程等。它可以帮助组织和企业实现业务流程的自动化、标准化和优化,提高工作效率和质量。

2024-04-21 22:21:54 983

原创 Jeecg的Dict注解的用法

在这个例子中,`@Dict` 注解应用在 `sex` 字段上,`dicCode` 参数指定了该字段对应的数据字典的代码。这意味着,当从数据库中查询到 `User` 对象时,`sex` 字段的值会被自动转换成相应的文字描述。在这种用法中,`@Dict` 注解可以通过指定数据字典表的表名和存储字典值的字段名,自动从数据库中查询数据字典值并进行转换。通常情况下,`@Dict` 注解与数据库中的数据字典表配合使用。- `dicCache`:指定数据字典的缓存名,用于提高查询效率,这里是 `"sex"`。

2024-04-09 20:13:13 777

原创 Ant Design Vue 搜索下拉框

在您提供的代码中,`filter-option="handleFilterOption"` 就是将 `<a-select>` 组件的 `filter-option` 属性设置为名为 `handleFilterOption` 的方法。例如,您可以使用 `input.toLowerCase()` 将搜索内容转换为小写,然后使用 `option.label.toLowerCase()` 将选项的文本内容也转换为小写,最后使用 `includes()` 方法来判断是否包含搜索内容。// 在这里处理获取到的数据。

2024-03-29 13:29:57 788

原创 MyBatis Plus笔记

现在:update sys_user set del_flag = '1' WHERE id = '1710680938406502402'之前:DELETE from sys_user WHERE id = '1710680938406502402'物理删除:从硬盘上直接删除掉。好处:数据条数少了,不好的地方在于可能会影响到基于这条数据产生的记录。CURD接口,包括:service和BaseMapper。将过去在xml中的写法 -> java代码的写法。2、mybatis-plus 条件构造器。

2024-03-22 09:59:07 182

原创 Error creating bean with name ‘dataSource‘ defined in class path resource [org/springframework/boot

1.数据库配置:spring: datasource: url: "jdbc:mysql://localhost:3306/springboot_demo" username: "root" password: "Lin58936543@"2.依赖版本问题:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.ap

2024-03-20 21:24:27 881

原创 使用yran安装依赖

yarn是facebook发布的一种包管理工具。

2024-03-15 17:01:37 175

原创 Jeecg-boot 初次启动项目失败

1.将IDEA的字符编码全部改成utf-82. 更改database的密码3.换个jdk重新启动

2024-03-12 22:05:25 157

原创 Java设计模式之代理模式

动态代理是在运行时动态生成代理类,无需手动编写代理类。代理模式是 Java 中常用的设计模式之一,它通过引入一个代理对象来控制对实际对象的访问,从而实现对目标对象的间接访问和控制。静态代理是在编译时就已经确定代理类和目标类的关系,代理类是手动编写的。静态代理需要为每一个需要代理的类编写一个代理类,这样会导致代码冗余。无论是静态代理还是动态代理,都能够实现对目标对象的代理和控制,根据具体的需求选择合适的代理模式。在 Java 中,代理模式通常分为静态代理和动态代理两种实现方式。

2024-03-12 15:54:58 386

原创 使用axios时,函数内的this代表什么?

在JavaScript中,通常使用 `let _this = this` 的方式是为了在回调函数中访问外部函数的上下文(通常是指向类的实例或其他对象)。在这种情况下,你可能需要使用 `let _this = this` 来确保在axios的回调函数中可以访问到类或对象的实例。在这个示例中,`let _this = this` 的作用是保存了类的实例引用,这样就可以在axios的回调函数中使用 `_this.data` 来访问类的属性。// 在回调函数中使用_this访问类的实例。// 保存类的实例引用。

2024-03-12 14:41:47 364

原创 数据库的检索知识

模糊检索是指根据指定的模式或通配符来匹配字段值,以检索符合条件的记录。常用的通配符包括 `%`(代表零个或多个字符)和 `_`(代表一个字符)。以上是针对数据库中的全称检索和模糊检索的简单示例。在数据库中,检索数据通常是通过 SQL 查询来实现的。全称检索是指精确匹配某个字段的值,只检索与指定条件完全匹配的记录。这将返回所有 `name` 字段值为 "John" 的用户记录。这将返回所有 `name` 字段以 "J" 开头的用户记录。这将返回所有 `name` 字段包含 "oh" 的用户记录。

2024-03-11 15:53:11 414

原创 前端前置知识pnpm

4. **本地依赖版本管理**:pnpm 使用 `pnpm-lock.yaml` 文件来管理本地项目的依赖版本,确保每个项目使用的依赖版本是一致的,避免了由于版本不一致导致的问题。5. **pnpm**:pnpm 是 npm 的一个替代品,它与 npm 类似,但具有更快的安装速度和更少的磁盘占用。pnpm 的作用等价于 npm,但它的性能更好。5. **命令行友好**:pnpm 的命令行界面与 npm 和 yarn 类似,易于使用和学习,可以轻松地切换到 pnpm 而不需要太多的学习成本。

2024-03-11 15:52:04 503

原创 数据库连接池-Durid连接池

然后通过 `dataSource.init()` 方法初始化数据源,调用 `dataSource.getConnection()` 方法从连接池中获取一个数据库连接,执行数据库操作后,通过 `connection.close()` 将连接放回连接池。数据库连接池是一个存放数据库连接的缓冲池,它能够管理和重用数据库连接,从而提高数据库访问的性能和效率。数据库连接是一种资源,它的创建和销毁是比较耗时的操作,因此使用连接池可以避免频繁地创建和销毁连接,从而减少了系统资源的消耗,提高了系统的响应速度和稳定性。

2024-03-11 15:49:26 561

原创 Redis

Redis 支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,并提供了丰富的命令来操作这些数据结构。总的来说,硬盘存储的数据库适用于需要持久化数据的应用场景,而内存数据库适用于对读写速度要求较高的实时应用场景。你提到了两种不同类型的数据库:一种是基于硬盘存储的数据库(例如关系型数据库),另一种是基于内存存储的数据库(例如 Redis)。- 数据持久性:虽然可以通过持久化机制保证数据持久性,但相比硬盘存储,内存数据的持久性较弱。- 需要持久化数据的应用场景,如金融、电商、日志等。

2024-03-11 15:45:00 323

原创 Spring AOP

通过在切面类中使用 `@Before`、`@AfterReturning`、`@AfterThrowing`、`@After` 和 `@Around` 注解,来定义各种通知。然后在 `MyService` 类中使用了这些通知,它的 `doSomething()` 方法被切面类中的各种通知所包围。当调用 `MyService` 中的 `doSomething()` 方法时,日志记录的切面将在方法执行前和执行后被调用,记录日志信息。System.out.println("环绕通知:方法执行前...");

2024-03-11 15:30:01 483

原创 URL传递参数的方式

/判断登陆状态 首先获取名为"Linusername"的会话存储数据。if(resp.data.name === '无'){alert('暂无该种图书')// page 传入偏移量。

2024-03-04 13:57:27 377

原创 Mybatis执行修改数据的操作

在您的代码中,如果执行完插入操作后,您需要将更改提交到数据库中,您可以在相应的地方调用 `commit()` 方法。例如,在 `UserRegisterService` 类的 `searchUser` 方法中,在插入操作执行成功后,您可以添加 `sqlSession.commit()` 来提交事务,确保插入操作生效到数据库中。是的,在 MyBatis 中,执行完插入、更新、删除等写操作后,需要手动提交事务才能将操作生效到数据库中。确保在适当的时候提交事务可以保证您的写操作生效到数据库中。

2024-03-03 13:46:01 246

原创 MyBatis不支持分页查询

SELECTb.name,b.author,b.price,FROMbook bWHERE。

2024-03-02 14:29:26 115

原创 vue3 的await async

在 Vue 3(以及大多数现代的 JavaScript 环境中)中,async和await是用来处理异步操作的关键字。这些关键字使你能够以同步的方式编写异步代码,使代码更加易读、易写,并且有助于管理异步流程。

2024-02-27 14:51:45 848

原创 JavaScript的解构赋值

这段代码是JavaScript中的解构赋值(Destructuring Assignment)的一个例子。解构赋值允许你从一个数组或对象中提取数据,并将其赋值给变量。(有一个大写的 'D')。如果属性名和变量名不匹配,你需要使用冒号。注意,解构赋值只会提取你明确列出的属性(在这个例子中是。对象中的属性名必须完全匹配(大小写也要匹配)。这两个变量名在解构赋值中使用了,但它们与。)不会被提取,也不会影响解构赋值的结果。(全小写),那么解构赋值时也应该使用。对象中的其他属性(如。此外,值得注意的是,

2024-02-27 14:51:12 227

原创 Vue3获得Reactive中的ref的值

当获取reactive定义的响应式对象中的ref对象的值时,不需要再(.value)了。

2024-02-27 12:36:39 140

原创 使用maven集成spring在测试的时候报出了如下的异常:version 60

使用maven集成spring在测试的时候报出了如下的异常:解决:

2024-02-19 13:34:16 233

原创 SSM项目启动错误ERROR YAMLException: java.nio.charset.MalformedInputException: Input length = 1

这个错误是由于Spring Boot应用程序在解析YAML文件时遇到了字符编码问题。表明在读取YAML文件时,有一个或多个字符不能被当前的字符集正确解析。

2024-02-18 21:37:13 404

原创 Element 快速入门导入资源

- 引入组件库 -->-- 引入样式 -->

2024-02-05 17:12:46 252

原创 抽象类和接口的继承与实现的注意事项

当我们谈论抽象类和接口的继承与实现时,有一些重要的注意事项需要了解: 抽象类和接口的区别: 抽象类可以有方法的具体实现,而接口中的方法默认都是抽象的。 一个类只能继承一个抽象类,但可以实现多个接口。 接口中的方法默认是public的,而抽象类的方法可以不是。 抽象类的继承: 子类必须实现父类中的所有抽象方法。 如果子类没有实现所有的抽象方法,那么子类也必须被声明为抽象类。 如果子类实现了所有的抽象方法,那么子类可以是一个具体类。 接口的实现: 一个类实现

2024-01-31 17:11:18 165

Java Web 的 分页显示

分页

2024-01-08

空空如也

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

TA关注的人

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