IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 统一开发平台系统开发日志(第五天) -> 正文阅读

[开发测试]统一开发平台系统开发日志(第五天)

1.数据字典

在之前设置的数据字典的服务写代码

对数据字典表的增删改查,

2.数据字典初始数据

数据字典的初始数据利用EasyExcel导入

EasyExcel基本使用

2.1导入依赖

<!-- easyexcel依赖 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
</dependency>

2.2创建实体类

@Data
public class UserData{
    @ExcelProperty("用户编号")  //该注解是表头上的字段名
    private int uid;

    @ExcelProperty("用户名称")
    private String username;
}

2.3读取数据库写入excel

public class TestWriter {
    public static void main(String[] args){
        //模拟一个List集合
        List<UserData> list = new ArrayList();
        for(int i=0; i<10; i++){
            UserData data = new UserData();
            data.setUid(i);
            data.setUsername("lucy" + i);
            list.add(data);
        }
        //1.设置excel文件路径和文件名称(文件夹必须已存在)
        String fileName = "E:\\excel\\01.xlsx";
        //2.调用方法实现写操作
        EasyExcel.write(fileName, UserData.class)
                .sheet("用户信息")    //excel工作表的名字
                .doWrite(list);
    }
}

2.4写入数据库 创建实体类但需要修改

@Data
public class UserData{
    @ExcelProperty(value="用户编号", index = 0)  //index表示顺序,0表示对应表中第1个字段
    private int uid;

    @ExcelProperty(value = "用户名称", index = 1)
    private String username;
}

2.5创建类并继承AnalysisEventListener

public class ExcelListener extends AnalysisEventListener<UserData> {
    @Override
    public void invoke(UserData userData, AnalysisContext analysisContext) {
        System.out.println(userData);
//该方法表示一行一行读取excel内容,但是它从第二行读取,第一行是表头
//读取一行数据后封装到userData对象中
    }

    @Override
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
        System.out.println("表头信息" + headMap);
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }
}

2.6调用

public class TestRead {
    public static void main(String[] args){
        //1.读取文件路径
        String fileName = "E:\\excel\\01.xlsx";
        //2.调用方法实现读取操作
        EasyExcel.read(fileName, UserData.class, new ExcelListener()).sheet().doRead();
    }
}

3redis+spring Cache

因为数据字典里的数据量过于庞大所以需要使用缓存技术

@Cacheable(value = "dict", keyGenerator = "keyGenerator")
//注@Cacheable使用springframework中的
/**
 * 表示该方法的返回值存入缓存,命名:dict
 * keyGenerator表示根据当前方法的包名、类名、方法名生成key(唯一效果)
 */



@CacheEvict(value = "dict", allEntries = true)
/**
 * 清空指定dict的缓存数据
 * allEntries=true表示清空所有缓存
 */


缓存@Cacheable

用在方法上,使用最多的缓存注解。

工作流程:先访问缓存,缓存中没有,去数据库查询,查询结果存到缓存。

根据方法对其返回结果进行缓存,下次请求时,如果缓存存在,则直接读取缓存数据返回;如果缓存不存在,则执行方法,并把返回的结果存入缓存中。一般用在查询方法上。

查看源码,属性值如下:

属性/方法名

解释

value

缓存名,必填,它指定了你的缓存存放在哪块命名空间

cacheNames

与 value 差不多,二选一即可

key

可选属性,可以使用 SpEL 标签自定义缓存的key

缓存@CachePut

一般用在添加方法上,当添加一条新数据时,该数据会同步到指定的缓存中去。

使用该注解标志的方法,每次都会执行,并将结果存入指定的缓存中。其他方法可以直接从响应的缓存中读取缓存数据,而不需要再去查询数据库。一般用在新增方法上。

查看源码,属性值如下:

属性/方法名

解释

value

缓存名,必填,它指定了你的缓存存放在哪块命名空间

cacheNames

与 value 差不多,二选一即可

key

可选属性,可以使用 SpEL 标签自定义缓存的

???????缓存@CacheEvict

一般用在更新或删除的方法上,用于清空指定缓存。

使用该注解标志的方法,会清空指定的缓存。一般用在更新或者删除方法上。

查看源码,属性值如下:

属性/方法名

解释

value

缓存名,必填,它指定了你的缓存存放在哪块命名空间

cacheNames

与 value 差不多,二选一即可

key

可选属性,可以使用 SpEL 标签自定义缓存的key

allEntries

是否清空所有缓存,默认为 false。如果指定为 true,则方法调用后将立即清空所有的缓存

beforeInvocation

是否在方法执行前就清空,默认为 false。如果指定为 true,则在方法执行前就会清空缓存

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:07:17  更:2022-04-22 19:09:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 10:35:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码