【养老项目】《重点!!》项目学习心得图解day04(一)部门管理&spring cache

Day04 部门管理

0、Spring Cache

我们查询部门数据的时候,特别是树形结构,要把所有的属性结构数据都展示出来,这个是会对数据库的访问造成一定的压力,并且从数据库查询效率也不是很高,所以我们通常都会添加缓存来提升效率。
添加缓存的基本逻辑:
在这里插入图片描述
项目集成步骤:

  1. 引导类上加@EnableCaching用于开启缓存。
    在这里插入图片描述

  2. 引入redis包,在配置文件配置Redis。

  3. 在需要修改部门数据的方法添加@CacheEvict。

@CacheEvict注解
作用: 清理指定缓存
value: 缓存的名称,每个缓存名称下面可以有多个key
key: 缓存的key ----------> 支持Spring的表达式语言SPEL语法

在这里插入图片描述
3. 在需要获取部门数据的方法添加@Cacheable。

@Cacheable
作用: 在方法执行前,spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,调用方法并将方法返回值放到缓存中

在这里插入图片描述
4. 这样每次读取部门数据都会先去缓存找,如果缓存没有再去数据库找,并存入缓存,避免了频繁读取数据库数据。同时,每次修改部门数据框架都会自动清除缓存数据。

1、部门列表

需要有上下级的关系,按照父部门编号查询子部门列表。
获取部门列表总体思路
在这里插入图片描述
业务层实现类的获取列表方法思路
在这里插入图片描述
获取部门列表SQL
在这里插入图片描述

2、部门树形结构

  • 在新增或是后边的岗位查询都需要展示部门的属性结构,查询没有条件,把所有数据组装成树形结构。
    部门树形结构总体思路
    在这里插入图片描述
    构建树形结构方法逻辑
    在这里插入图片描述
    recursionTreeItem方法逻辑
    在这里插入图片描述

3、新增部门

Note:
1、由于该方法需要同时涉及部门表和用户表的修改,需要用@Transactional管理事务,确保方法执行过程中发生异常,所有数据库操作将回滚。
2、@CacheEvict:清除缓存。
DeptCacheConstant.LIST 和 DeptCacheConstant.TREE 是与部门数据相关的缓存。创建新部门后,这些缓存可能需要失效,以确保后续查询获取到最新数据。


部门新增方法逻辑
在这里插入图片描述
创建新部门编号业务逻辑
在这里插入图片描述

4、修改部门

修改部门业务逻辑
在这里插入图片描述

5、启用禁用部门

启用禁用部门业务逻辑
在这里插入图片描述

6、删除部门

删除部门业务逻辑
在这里插入图片描述
本人水平有限,有错的地方还请批评指正。

什么是精神内耗?
简单地说,就是心理戏太多,自己消耗自己。
所谓:
言未出,结局已演千百遍;
身未动,心中已过万重山;
行未果,假想灾难愁不展;
事已闭,过往仍在脑中演。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习的小熊猫_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值