实习日记
1,使用fastExcel工具来进行excel文件的扫描,基本思路就是先设置一下监听器
1 | DynamicReadExcelListener readListener = new DynamicReadExcelListener(); |
然后就可以调用里面的FastExcelFactory中的read方法传入file的输入流,并加入监听器就可以读取excel文档了
1 | try { |
其中有一些方法可以直接获得表头和数据,并且使用List<Map<Integer,String>>来封装的
1 | // 校验表头 |
如果想要遍历表头和数据,就是基本的Map遍历,其中比较对我来说难的点就是使用MP中的lambda语法批量根据name查询id然后使用stream流保存到集合里
,2,如果单纯的查询一个name的id使用MP中的lambda语法就是
1 | Long deptId=deptMapper.selectOne(new LambdaQueryWrapper<Dept>() |
只需要new一个wrapper并制定泛型,使用.eq(类中字段,传入实际name).select(类中方法).getId这种写法就可以一步查询
1 | Long deptId=deptMapper.selectOne(new LambdaQueryWrapper<Dept>() |
但是MP没有办法直接查询并封装集合,就需要结合stream流来实现(我认为selectone或者selectList括号后的函数就不是MP的函数了,而是java里的封装函数),这里的stream流使用就是,先开启一个流,然后使用.map(进行类型转换的函数).collect(Collectors.toList)来封装成集合,map中传入的也是一个方法,是查询的方法
1 | List<Long> roleIds = roleMapper.selectList(new LambdaQueryWrapper<Role>() |
3,还有一个难点就是我使用fastExcel获得的dataList是没有类型的,我需要讲里面的数据都进行类型转换,重新封装成一个新的list,其中role其中的list类型的成员,我还要遍历里面的成员在嵌套封装
1 | //该怎么获取data集合封装成req集合??? |
Author: chenjunda
Link: http://example.com/2025/10/28/diary-2025-10-28/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.
