bug合订本

2.9k words

SQL

SQL between and查询日期,边界问题

查询日期时
Mysql对日期查询默认为”00:00:00”
2024-10-17 ~ 2024-10-24
实际为
2024-10-17 00:00:00 ~ 2024-10-24 00:00:00
所以2024-10-24 14:54:31 不包含在其中

解决办法

  1. 将右边界日期往后推一天
    SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY);
  2. 将右边界时间精确到秒


Mybatis

批量操作SQL语法报错,注意使用close=”;”

批量插入/更新
有close


insert…; insert…; insert…;

没有close


insert…; insert…; insert…

separator是在间隔加,末尾一句不会加

还有open也可以用,在开头添加
例如open=”(“ close=”)”


Vue

vue 数组元素更新,界面没有刷新

Vue 不能检测数组的变动
解决办法

  1. 要更新数组时,使用splicepushconcat等方法


moment_moment__WEBPACK_IMPORTED_MODULE_4___default.a.format is not a function

  1. moment包导入错误

  2. 也可能是。。
    moment().format(“YYYY-MM-DD”) ✔
    moment.format(“YYYY-MM-DD”) ❌

this.$refs找不到组件

  1. 注意导入组件时大小写
1
2
import sampleView from "@/views/sampleView/sampleView.vue";

1
<SampleView ref="sampleView" @ok="query"></SampleView>

this.$refs.sampleView无法获取

1
<sample-view ref="sampleView" @ok="query"></sample-view>

this.$refs.sampleView可以获取

导入组件时尽量使用大写字母开头!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import SampleView from "@/views/sampleView/sampleView.vue";
```

## JS
#### 箭头函数中Return
下面`testForEach()`中的`return`退出的是当前的箭头函数
不会退出`testForEach()`,也不会退出`forEach()`

```js
data() {
return {
list: [1,2,3,4,5,6,7,8,9],
result: 0,
}
},
methods: {
testForEach() {
this.list.forEach((item) => {
this.result = item
if (item > 3) {
return false;
}
console.log(item)
})
}
}

最终 this.result = 9
打印的结果为
1
2
3


vxe-table

vxe-table 列名未正确显示

  1. 检查控制台报错

  2. 检查:edit-rules属性格式是否正确

:edit-rules="rules"

正确

1
2
3
4
5
6
7
8
rules: {
age: [
{
require: true,
message: '请输入年龄',
}
]
}

错误

1
2
3
4
5
6
rules: {
age: {
require: true,
message: '请输入年龄',
}
}

vxe-table 未正确校验

  1. 检查:edit-rules属性名称,格式是否正确

  2. 检查validate方法是否使用了await修饰

  3. 检查是否为vxe-table中的数据,:data中绑定的数据不会被校验


ant design vue

a-form-model 表单校验问题

  1. a-form-model
    :model 指定表单数据对象

  2. a-form-model-item
    prop属性必须是表单域 model 字段

git

fatal: refusing to merge unrelated histories

当Git检测到你尝试合并的两个分支没有共享的提交历史时(被识别为两个独立的仓库),
就会报出fatal: refusing to merge unrelated histories的错误。
这意味着 Git无法找到一个共同的祖先节点来执行常规的合并操作。

springboot整合rabbitMQ

消息队列名和声明为Bean的名字不一致

1
2
3
4
5
6
@Bean("myDlQueue")
public Queue dlQueue() {
return QueueBuilder
.nonDurable("ababQueue")
.build();
}

报错
alt text
队列成功创建
但是由spring声明托管时出现错误

修改为.nonDurable("myDlQueue")后解决
队列名字需要与声明为Bean的名字一致

配置类中声明了JsonMessageConverter,此时消费String类型

报错

1
2
org.springframework.amqp.rabbit.support.ListenerExecutionFailedException: Failed to convert message
Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'abababbaabab': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')

消费者@RabbitListener会自动使用配置类中声明的JsonMessageConverter,当消费的消息类型不符时报错

暂时注释掉声明的converter后,正确运行

idea

报错程序包xxx.xxx不存在,且目录下存在对应包

  1. 删除项目相关的.idea文件夹、target目录、xxx.iml文件

  2. 重启Idea并重新导入项目

lombok 和 idea自带的生成get,set会出现生成函数不一样的情况

属性名fRate
idea生成的

1
2
3
public Integer getfRate() {
return fRate;
}

lombok生成的

1
2
3
public Integer getFRate() {
return fRate;
}