草庐IT

MySQL批量更新的四种方法

最近做一个需求,更新3w条数据,一个一个update去更新的,结果花了80分钟,这样性能上很差,也容易阻塞,所以就找了一些MySQL批量更新的方式,在此记录一下方法一;replaceinto这种更新会将其它字段更新为默认值,因为它是先将重复记录删掉再更新,谨慎使用12replaceinto`user`(id,age)values(1,'2'),(2,'3'),(3,'4'),(4,'98');-->时间:0.038s方法二:insertinto[table]values…onduplicatekeyupdate这种方式应该也是删掉记录,再更新,但是保存的原来的其它字段数据,所以其它字段不会改变

java计算两个日期之间相差的天数的四种方法

计算两个日期之间相差的天数的四种方法第一种:时间戳的方式,计算两个日期的时间戳的差,再除当天的毫秒数即可得到相差的天数。publicstaticvoidmain(String[]args){ DateFormatdft=newSimpleDateFormat("yyyy-MM-dd"); try{ Datestar=dft.parse("2020-02-03");//开始时间 DateendDay=dft.parse("2025-03-02");//结束时间 LongstarTime=star.getTime(); LongendTime=endDay.getTime(); Lo

CSS实现三角形的四种方法

方法一:使用border(常见)【解释】不设置宽高,用边框大小控制三角型大小【分解步骤】设置一个div不设宽高【示例】#triangle{width:0;height:0;border:100pxsolid;border-color:orangeredskybluegoldyellowgreen;} 2.设置透明留下想要指向方向相反的边框设定,其他方向的边框设为transparent透明【示例】实现指向向上的三角形.Up{width:0;height:0;border-top:100pxsolidtransparent;border-right:100pxsolidtransparent;bo

Java创建数组的四种方式

1.使用默认值来初始化语法:数组元素类型[]数组名称=new数组元素类型[数组长度]EG:int[]nums=newint[5];//创建了一个类型为int,名字为nums,长度为5的数组2.先声明一个数组,再给值语法:数据元素类型[]数组名称;数组名称=new数组元素类型[数组长度];EG:int[]nums;nums=newint[5];//创建了一个类型为int,名字为nums,长度为5的数组3.先声明一个数组再用特定的初始值将其初始化语法:数据元素类型[]数组名称=new数据元素类型[]{数据1,数据2,数据3.....};EG:int[]nums=newint[]{1,2,3,4,.

检测数据类型的四种方法

一、数据类型:1、基本数据类型:String、Number、Boolean、Null、Undefined、Symbol、BigInt2、引用数据类型:Object、Array、Function、Date、RegExp二、检测数据类型的四种方法1.typeof检测 特点:typeof只能检测基本数据类型(除了null),不能准确的检测引用数据类型。   object、array、date、regExp、null都会返回object2.instanceof检测 特点:instanceof的本质作用是判断某个对象是由哪个类(构造函数)产生的,所以只能用在引用数据类型上,如果在原型上找到返回true,

编码器的四种输出接线

集电极开路输出是以输出电路的晶体管发射极作为公共端,并且集电极悬空的输出电路。一般分为NPN集电极开路输出(见图1)和PNP集电极开路输出(见图2)。电压输出是在集电极开路输出的电路基础上,在电源间和集电极之间接了一个上拉电阻,使得集电极和电源之间能有一个稳定的电压状态,见图3。互补输出是输出上具备NPN和PNP两种输出晶体管的输出电路。根据输出信号的[H]、[L],2个输出晶体管交互进行[ON]、[OFF]动作,比集电极开路输出的电路传输距离能稍远,也可与集电极开路输入机器(NPN、PNP)连接。输出电路见图4。线性驱动输出是采用RS-422标准,用AM26LS31芯片应用于高速、长距离数据

JAVA中取整数的四种方法

1.向下取整Math.floor(),向下取整就是取最小的整数,如1.9就返回值为1.0,-1.9就返回-2.0,返回的总是小于等于原数。2.向上取整Math.ceil(),向上取整顾名思义就是取最大的整数,如1.9就返回2.0,-1.9就返回-1.0,返回的总是大于等于原数,如图。3.接近取整Math.rint(),接近取整顾名思义就是接近哪个取整哪个,如1.6接近2,所以就取2;1.4接近1,所以就取1;那么1.5呢,1.5跟1和2都很接近,这时候就取偶数,如图。4.四舍五入或(+0.5向下取整)Math.round(),这个round就有点意思了,如果只考虑正整数的情况下就很简单,就是我

Fragment的四种跳转方式

本文主要记录了关于fragment的四种跳转方式: 1、从同一个Activiy的一个Fragment跳转到另外一个Fragment 2、从一个Activity的Fragment跳转到另外一个Activity 3、从一个Activity跳转到另外一个Activity的Fragment上4、从一个Activity的Fragment跳转到另外一个Activity的Fragment上写这篇文章只是一个简单的记录,当初我学这里的时候看别人的文章总是觉得云里雾里的,后来自己也觉得差不多可以了,于是写下这篇博客,也是记录自己的学习过程。首先新建一个项目,然后新建两个活动MainActivity、OtherA

Fragment的四种跳转方式

本文主要记录了关于fragment的四种跳转方式: 1、从同一个Activiy的一个Fragment跳转到另外一个Fragment 2、从一个Activity的Fragment跳转到另外一个Activity 3、从一个Activity跳转到另外一个Activity的Fragment上4、从一个Activity的Fragment跳转到另外一个Activity的Fragment上写这篇文章只是一个简单的记录,当初我学这里的时候看别人的文章总是觉得云里雾里的,后来自己也觉得差不多可以了,于是写下这篇博客,也是记录自己的学习过程。首先新建一个项目,然后新建两个活动MainActivity、OtherA

Flowable 设置任务处理人的四种方式

文章目录1.指定具体用户1.1重新指定任务处理人1.2自己处理2.通过变量设置3.通过监听器设置4.其他情况上篇文章松哥和大家分享了Flowable中的ReceiveTask,这只是流程中任务的一种,今天我们就一起来看另外一个更为常见的Task–UserTask。UserTask看名字就知道,需要人工干预,而人工处理的方式有很多种,我们可以设置节点是由哪个用户处理,也可以设置是由哪个用户组来处理(相当于是由哪个角色来处理),今天这篇文章我主要和大家分享设置用户的三种方式,至于如何设置用户组,这个咱们下篇文章再聊。现在,假设我有如下一个简单的流程图:那么我该如何设置这个用户节点的处理人呢?1.指