- 博客(17)
- 收藏
- 关注
原创 数据库为字段为BigInt 类型,实体类中使用Long类型接收 ,导致的 精度丢失的问题
这里当生成订单生成的订单id 使用的是mybatisPlus 的自动生成的雪花id ,但是当需要根据前端传来的id来查询订单详情时,首先传来的是Long类型的,精度丢失,这里如果去测试,使用数据库生成的订单号去测试的时候,需要将订单号后面加上"L"只有这样才能正确的查询出数据。具体的解决方式,配置全局的处理。Serialization Inclusion: JsonInclude.Include.NON_NULL 配置使得只有非空属性会被序列化到 JSON 中,这样可以减少传输的数据量并保持响应的简洁性。
2024-06-11 17:38:57
359
1
原创 Vue3--项目总结--分页处理
getProductList 方法是对应的后端的分页方法,在这里当后端传回来数据后这里使用的是currentPage的值是++,最好使用后端传回来的数据。使用的pageHelper插件实现的分页,插件可以根据我们设置的限制动态计算出总页码,也可以直接取出来当前页,下一页的索引。例如要实现一个商品的分页查询:要求前端传回的参数,只需要当前页,和页面显示limit 这两个数据最好都设置默认值。这个例子是 根据当前页的,来设置是显示上一页还是下一页。
2024-06-06 23:02:43
204
原创 Mp--批量插入数据--优化
1.准备数据库表结构:2.引入Mp依赖 springboot 版本为:3.2.53.配置文件测试批量插入1.模拟数据1.原始的插入 直接执行10000次数据库操作 耗时:230792.使用Mp的批量插入 每次插入1000条插入十次 ,但没有开启数据库的 rewriteBatchedStatements=true 耗时:42603.使用Mp的批量插入 并且开启数据库的rewriteBatchedStatements=true 配置,耗时:854总结:
2024-06-02 12:59:17
232
原创 MP --基础
使用场景:实体类成员变量名与数据库字段名不一样;成员变量名以is开头,并且是布尔类型,在Mp的处理中会将is给去掉,所以要加注解来标明;变量名与数据库中的关键字冲突;成员变量不是数据库字段的;@TableId 是枚举类型,如果在数据库表定义的时候没有指定id的增长策略,使用Mp的时候也没有指定,那默认使用的是《雪花算法》 来生成id.大部分不用写,一般都有默认值。3.Mp自定义sql。
2024-06-02 12:15:30
164
原创 springboot 拦截器及注册
1.逻辑判断:首先,通过检查object是否为HandlerMethod实例来判断请求是否直接映射到一个处理方法。如果不是,则直接返回true,允许请求继续。这是合理的,因为静态资源和不需要权限检查的请求不应被拦截,提高了处理效率。2.Token检查:接下来,从请求头中获取Authorization字段的值作为token。
2024-05-31 22:02:20
668
原创 localStorage和sessionStorage的区别
若想在 localStorage存储对象,需要将对象转化为字符串的形式,应为 localStorage只能存储字符串数据,可以使用。使用localStorage存储数据,将数据以键值对的方式存储在浏览器中,例如将一个名为token的数据存储。但是:使用 其存储对象,对象经过序列化和反序列化的过程,会导致对象的方法丢失,仅仅存储的就是对象的属性和值。2.数据的更新:如果要更新原来已经存储的数据,只需要使用相同的键来设置新的值即可,新值将会覆盖掉旧值。
2024-05-31 12:56:51
146
原创 maven问题--打包时报错
在maven打包出错:报错提示为:这是因为测试代码时遇到错误,它会停止编译。 (就是在单元测试里的代码有Bug)1.方案一:在pom文件中添加如下配置,设置打包的时候,跳过单元测试2.方案2在idea的maven 侧边栏的 ,进行设置。打包时跳过测试3.方案三处理好单元测试代码的Bug☺
2024-05-30 21:36:43
171
原创 Redis+Lua脚本实现Ip限流
1.所需的pom依赖,springboota 版本:3.2.0。2.自定义注解,IpLimiter。3.Iputil 工具类。
2024-05-30 16:30:41
299
原创 element plus 新增和编辑共用同一个模态框
在使用elementplus的模态框组件,新增信息和编辑信息往往都需要一个模态框,并且二者的内容基本相同,所以可以共用一个模态框,这时就需要设计,模态框的标题和提交按钮,当点击的是新增按钮是,模态框的标题和提交按钮,对应的是新增的逻辑,点击的是编辑按钮时模态框的标题和提交按钮对应是是编辑的逻辑,这里的提交按钮也是通过isEditing自定义的值来控制,例如当打开新增的弹窗时设置isEditing的值为false ,这样它的标题和提交按钮执行的就是新增商品的那套逻辑。
2024-05-27 20:55:24
251
1
原创 Vue----二进制文件导出
这里使用saveAs 函数来触发文件下载。首先 先安装 file-saver 库。2.引入FileSaver.js库。
2024-05-26 23:44:38
144
原创 Element-plus Table 表格
您会丢失 tableData 的响应性,因为它会被替换为一个新的普通数组,而不是响应式数组。不能用的原因是它会将响应数据数组作为单个元素添加到 tableData 数组中,而不是合并两个数组的内容。而正确的做法是使用诸如 splice 的方法来更新响应式数组的内容。1.当el-table 元素中注入data对象数组后,在el-table-column 中用prop属性来对应对象中的键名(如:username,password)用label 属性来定义表格的列名,width定义列宽。
2024-05-25 12:57:53
551
原创 Sql语句 in查询 问题
当通过in查询时,传入的顺序和实际查出来的顺序是不同的,因为in 查询会按照数据库的顺序进行查询,如果你想按照用户id 14,13这样的顺序去查询,结果会是以13,14 这样的顺序。这时如果想让查询的结果按按照传入的id顺序执行,几必须加上。
2024-05-24 11:01:16
237
原创 Springboot 统一返回结果集
Springboot 统一返回结果集格式这种格式主要份三个部分:1.code 状态码2.message 返回的信息3.data 返回的数据@Data@NoArgsConstructor@AllArgsConstructorpublic class Result { private Integer code;//响应码,1 代表成功; 0 代表失败 private String msg; //响应信息 描述字符串 private Object data; //返回的
2024-05-23 21:29:13
117
原创 Vue3-路由守卫
# Login.vue## 当登录成功后,将从后端传回来的token存起来,localStorage.setItem 是Web存储API中的一个方法,用于在浏览器的localStorage中存储数据。# router index.ts## 在路由配置的文件中配置 路由守卫,全局前置路由beforeEach 接收三个参数,to表示即将要跳转的路径,from表示当前的路径。next(),接收参数,如果调用时不带任何参数,路由器将会继续导航到下一个目标路由。next(false): 取消当
2024-05-23 21:13:54
168
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人