项目2(外卖)
文章平均质量分 81
哗哗的世界
点点关注,共同进步
展开
-
使⽤ShardingJDBC实现数据库读写分离
MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台MysQL数据库(slave,即从库)从另一台NySQL数据库(master,即主库)进行日志的复制然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制是MySQL数据库自带功能,无需借助第三方工具。原创 2023-11-20 17:36:03 · 229 阅读 · 0 评论 -
项目点使用Redis作为缓存技术-自用
在spring boot项目中,使用缓存技术只需在项目中,并在支持即可。例如,使用Redis作为缓存技术,只需要导入Spring data Redis的maven坐标即可。原创 2023-11-19 15:21:11 · 112 阅读 · 0 评论 -
自定义业务异常处理类加入全局处理器中
自定义业务异常处理类并将其加入全局异常处理器,从而避免业务层直接处理异常造成代码污染,达到业务清晰简洁。原创 2023-11-19 14:18:55 · 80 阅读 · 0 评论 -
公共字段自动填充-@TableField的fill实现(2)
客户端发送的每次http请求,在服务端都会分配新的线程。因此登录检查过滤器、controller、元数据对象处理器属于一个线程。TheadLocal是线程的局部变量:TheadLocal常用方法:如何在元数据对象处理器中获取当前登录用户的id?因为登录检查过滤器、controller、元数据对象处理器属于一个线程,所以可以在filter中获取登录用户的id,set到ThreadLocal中,在元数据处理器中get到线程局部变量ThreadLocal的值。第一步,实体类注解: 第二步,封装基于Thr原创 2023-11-19 13:04:11 · 567 阅读 · 0 评论 -
公共字段自动填充-Mybatis Plus实现
我们可以在LoginCheckFilter的doFilter方法中获取当前登录用户id,并调用ThreadLocal的set方法来设置当前线程的线程局部变量的值(用户id),然后在MyMetaObjectHandler的updateFill方法中调用ThreadLocal的get方法来获得当前线程所对应的线程局部变量的值(用户id)。Mybatis Plus公共字段自动填充,也就是在插入或者更新的时候为指定字段赋予指定的值,使用它的好处就是可以统一对这些字段进行处理,避免了重复代码。原创 2023-11-18 22:15:59 · 208 阅读 · 0 评论 -
项目踩坑之面试遇到的问题及解决
当报错信息出现Duplicate entry时,就意味着新增员工异常了 所以,我们对异常类的方法进行一些小改动,让这个异常反馈变得更人性化 这个时候再来客户端试试,就会提供人性化的报错,非常的快乐~,更加人性化,体验更好。遇到的问题之:在实现后台管理端-账户操作的时候,添加员工的时候如果重复添加同一个员工,会触发一个数据库唯一约束异常,但客户端无法清晰的理解这个错误,所以我们就对新增员工的代码进行。这里我们使用SpringAop思想实现全局异常拦截处理,从而对异常的统一处理。在员工的主键上面加上。原创 2023-11-18 21:20:58 · 192 阅读 · 0 评论 -
基于传统Session的登录
本人的一些简历上要回答的点。所以再此整理。原创 2023-11-18 20:38:11 · 240 阅读 · 0 评论