当前位置: 首页 > news >正文

公司study three

ctrl+win+d:新建桌面

ctrl+win +箭头 切换桌面

WIN + CTRL + F4 删除桌面

stream

  • foreach遍历
 instFormModifytracesList.stream().forEach(s->{  s.setModifyUser(sysUserTemplate.getNameById(s.getModifyUser()));});
  • 拼接
 String collect2 = peopleList.stream().map(People::getName).collect(Collectors.joining(","));
  • list转成 map<string,实体>
Map<String, Sample> sampleCodeMap = list.stream().collect(Collectors.toMap(Sample::getSampleCode, sample -> sample));
  • list去重
   List<String> collect = departmentList.stream().map(TaskDepartment::getDepartmentId).collect(Collectors.toList());List<String> departmentIds = new ArrayList<String>(new TreeSet<String>(collect));
  • list根据某个字段去重
	//根据值班日期去重,一天只需要获取一条数据
List<SiteScheduling> siteSchedulings = schedulingList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(SiteScheduling::getOnDutyDate))), ArrayList::new));

mybatis-plus+stream+lambda

  • lambda遍历 存值
   if (bpmBoEntityList != null && !bpmBoEntityList.isEmpty()) {bpmBoEntityList.forEach(x -> {BpmBoEntityDTO dto = new BpmBoEntityDTO();BeanUtil.copyProperties(x, dto);dtoList.add(dto);});}
  • lambda+stream 遍历
  List<BpmSolresContent> bpmSolresContentList=bpmSolresContentMapper.selectList(lambdaQueryWrapper);bpmSolresContentList.stream().forEach(w->{if(Func.isNotEmpty(w.getRoute())){w.setRoute(varParamService.replaceVarString(w.getRoute(),userId,instId, VarParamGroupEnum.INST));}});

集合

  • 对象转成map
Map<String, Object> dataMap = MapUtil.toMap(vo);
  • 判断list和map是否包含这个值
    在这里插入图片描述

  • contains方法是用来判断集合中是否包含某个元素的方法

例子:
Connection c=new ArrayList();
c.add(1);
System.out.println(c.contains(1));结果:
ture

代码学习

  • 将list的id分割
 String userIds = StringUtils.join(userIdList,",");`
  • 复制实体
BeanUtil.copyProperties(x, dto);
 selectBatchIds:mybatus-plus批量查询集合
  • 判断类型是否为空,是返回信息
 Asserts.isEmpty(treeDTO.getNodeType(), "节点类型不能为空!");
  • 删除新增修改保存 @PostMapping+@BpmApiLog

  • 新增或修改

  if (holidayService.insertBpmHolidayWorkhours(holidayWorkhours) > 0) {return R.success("设置工作时间成功");}return R.fail("设置工作时间失败!");}
  • 获取当前登录用户id
Long userId = AuthUtil.getUserId(true);
String userId=AuthUtil.getUserId().toString();
  • 根据报错信息,找到所在位置,然后查看报错信息原因
    在这里插入图片描述

在这里插入图片描述

  • 获取就是response
  • 设置保存 就是request
  • vo:用于给前端显示信息
  • dto:用于service层跟mapper层数据交换
  • equals() 会判断大小写区别,equalsIgnoreCase() 不会判断大小写区别

注解

  • @Validated:为了在实体中使用对应的注解对参数进行校验

在这里插入图片描述

@Null(message = "无需上传id!程序会根据年份入参自适应修改!")

在这里插入图片描述

循环

  • break用于完全结束一个循环,跳出循环体,执行循环之后的代码
  • continue语句用于终止本次循环,接着开始下一次循环。

多线程

  • 在方法上加上@Async注解,然后去启动类加上@EnableAsync启动注解开启异步
  • @Async失效的原因
    • 1、注解@Async的方法不是public方法
      2、注解@Async的返回值只能为void或者Future
      3、注解@Async方法使用static修饰也会失效
      4、spring无法扫描到异步类,没加注解@Async 或 @EnableAsync注解
      5、调用方与被调方不能在同一个类
  • 测试异步是否成功,成功了就直接走到 保存成功,不会进入休眠,最后才进入对应休眠的方法
  • 异步处理线程
  • 开启异步后无论异步 方法是否执行成功 ,都会 直接走到保存成功,互不影响在这里插入图片描述在这里插入图片描述
    // 异步线程处理数据源xml解析ExecutorService es = Executors.newFixedThreadPool(1);es.submit(new Callable<BpmFormInfo>() {@Overridepublic BpmFormInfo call() {formDatasourceService.updateFormXmlJson(bpmFormInfo.getFormId());return null;}});es.shutdown();
  • 异步 开启了新线程所以 获取不到当前的登录人的id,需要获取传值过来

强转

  • list转hashmap
HashMap<String, Object> map = (HashMap) oldFormDatum;

概念

  • 没加@requestbody的不能用json,只能用form-data

  • stream的Collectors.toList(),加了分组就等于转化成list了,不加 就要Collectors.toList()

  • java回调:回调是一种双向调用模式,什么意思呢,就是说,被调用方在被调用时也会调用对方,这就叫回调。“If you call me, i will call back”

    • 所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法
  • if,elseif,else,三者语句只执行一条,谁的语句先为真就执行哪条,后面的条件的语句就不用管了。

  • @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求

http://www.lryc.cn/news/90236.html

相关文章:

  • 【运维】speedtest测试
  • CycloneDDS开源代码在Linux系统上编译生成可执行文件的详细步骤
  • PLL锁相环的一部分--鉴频鉴相器
  • CSS实现磨砂玻璃(毛玻璃)效果样式
  • Solidity拓展:数学运算过程中数据长度溢出的问题
  • 【C语言】经典题目(一)
  • Linux 设备树文件手动编译的 shell 脚本
  • C++核心编程——初识STL——STL的基本概念和六大组件
  • 5.2图的BFS与DFS遍历
  • JSP+SQL网上选课系统(源代码+论文+答辩PPT)
  • C语言数据结构——树、堆(堆排序)、TOPK问题
  • springboot+vue 刘老师
  • 学生网上考试报名系统的设计与实现
  • Jmeter实现分布式并发
  • 动态xml文件配置 hibernate validator 约束校验
  • Vue绑定class样式与style样式
  • 集权攻击系列:如何利用PAC新特性对抗黄金票据?
  • 同程面试(部分)(未完全解析)
  • 讯飞星火_VS_文心一言
  • Java的集合
  • addr2line 使用,定位kernel panic 代码位置
  • OpenAI目前所有模型介绍
  • 【P43】JMeter 吞吐量控制器(Throughput Controller)
  • 方正书版命令详解
  • Gradio的web界面演示与交互机器学习模型,高级接口特征《6》
  • 本地项目上传到Git(Gitee)仓库
  • Android 12.0屏蔽掉SystemUI的某些通知提示音
  • 测试计划模板二
  • 华为OD机试真题B卷 Java 实现【分奖金】,附详细解题思路
  • IMX6ULL平台I2C数据结构分析