Java
文章平均质量分 59
星狗、
日常端茶倒水、佛系码农。
展开
-
oracle使用mybatis批量新增数据,批量更新数据
oracle使用mybatis批量新增数据,批量更新数据原创 2023-04-25 15:20:11 · 1325 阅读 · 0 评论 -
oracle批量新增数据,如果有指定字段相同的数据,则更新
oracle批量新增数据,如果有指定字段相同的数据,则更新原创 2023-01-17 10:50:00 · 1823 阅读 · 0 评论 -
mybatis使用双层<foreach> 循环嵌套
有个需求,要用到mybatis的双层循环嵌套插入数据,当然,可以使用单层,在业务代码层面循环插入,那样会多出很多次IO数据库,如果并发量高了,性能将会很低;原创 2022-09-29 09:54:33 · 5222 阅读 · 0 评论 -
分布式系统异步线程池工具类(基于阿里开源的TTL)
分布式系统异步线程池工具类(基于阿里开源的TTL)原创 2022-09-26 15:56:17 · 1842 阅读 · 0 评论 -
mysql拷贝表中指定字段的数据生成新数据
其中:crisps_hr_time_shift_time是表名;所有#{}字段都是集合动态传入的要替换的字段;#{item.id}主键ID肯定要从新生成并传入替换,不然会报主键冲突;#{item.superId} 这个字段是条件,此处是查询表中指定ID的数据进行拷贝生成新数据。比如:现在有个需求,需要把表中某些行数据拷贝一份,生成新数据,新数据的主键ID和其他某些指定行是接口传入的,其余的字段和拷贝的行的字段数据一致。原创 2022-09-22 10:44:12 · 611 阅读 · 0 评论 -
sql判断时间段是否重叠
话不多说,直接上SQL:原创 2022-08-17 16:13:28 · 1286 阅读 · 0 评论 -
规则引擎QLExpress表达式计算数学公式
规则引擎QLExpress表达式计算数学公式原创 2022-07-05 17:49:08 · 3011 阅读 · 0 评论 -
数字工具类NumberUtil实现数字精确计算,避免精度丢失,四舍五入,保留小数等等
import cn.hutool.core.util.NumberUtil;数字工具针对数学运算做工具性封装。1 加减乘除四种运算都会将double转为BigDecimal后计算,解决float和double类型无法进行精确计算的问题。这些方法常用于商业计算。 //针对数字类型做加法 NumberUtil.add(1,2);//3 // 针对数字类型做减法 NumberUtil.sub(1,1);//0 //针对数...原创 2022-05-31 17:36:46 · 11301 阅读 · 0 评论 -
springboot项目打包报错:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0
原因是打包插件plugins标签里面缺少maven-resources-plugin依赖,添加上即可解决。完整的依赖为:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId&g...原创 2022-05-31 17:19:12 · 2121 阅读 · 2 评论 -
手动分页工具类(特殊场景没法使用数据库分页情况下使用)
有些情况下,我们需要聚合查询的结果,然后再分页,这种情况下没法使用数据库分页的,这时候手动分页就派上了用处。下面是一个分页工具类,只需传入聚合查询出的结果集,和起始页,每页尺寸,就可以手动分页。使用时直接调用ManualPageUtils.setPage(list,start,length)即可返回分页结果。import org.apache.poi.ss.formula.functions.T;import java.util.ArrayList;import java.util.Linke.原创 2022-05-13 16:45:13 · 524 阅读 · 0 评论 -
easyexcel生成动态模板(模板支持下拉框),动态字段导出excel表格,常规字段导出excel表格
备注:动态字段导出主要是用了反射的原理,跟excel需要导出的字段一一映射。话不多说,直接上代码;1.生成的动态模板如图:如上图,如果下拉框里不是选择的值,会给用户提示,下拉框用来限制用户导入只能选择下拉框中的值先放controller层调用@RestController@RequestMapping("/test")@Slf4j@RequiredArgsConstructorpublic class TestExcelController { ...原创 2022-05-12 17:00:21 · 10496 阅读 · 9 评论 -
sql条件控制主表和辅助表
select e.id,e.merchant_id as merchantId,e.head_url as headUrl,e.name,e.work_code as workCode,e.phone,e.dept_id as deptId,d.dept_name as deptName,d.dept_full_path as deptFullPath,e.post_name as postName,e.leader_id as leaderId,e.user_id as userId,if(l.w.原创 2022-02-25 17:20:38 · 452 阅读 · 0 评论 -
Java递归组装树结构
1.先查询出需要组装的所有数据集合:前提是 id 和 parentId结构符合树结构存储,即每个id对应的都有一个parentId,最顶层parentId默认设置成1,表示指定他为最顶层原创 2022-01-24 16:03:18 · 1682 阅读 · 0 评论 -
java在interface中定义常量和在class中定义常量的区别
package com.example;public final class Constants { private Constants() {} public static final int A = 100; public static final int B = 100; public static final int C = 100; public static final int D = 100;}package com.example;pu...原创 2022-01-21 10:09:56 · 2413 阅读 · 6 评论 -
异步线程池和自定义2种线程池
@Configuration@EnableAsyncpublic class ThreadAsyncConfigurer implements AsyncConfigurer { private final static Logger log = LoggerFactory.getLogger(ThreadAsyncConfigurer.class); @Bean @Override public Executor getAsyncExecutor() { .原创 2021-12-30 13:40:57 · 411 阅读 · 0 评论 -
aop全局操作日志记录
/** * @program: crisps-hr * @Description: 全局日志记录切面,只记录增删改 * @Author: zwx * @Date: 2021/4/28 14:52 */@Aspect@Componentpublic class GlobalLogAspect { /** * 自定义一种IO密集型任务的线程池 */ private static final ThreadPoolExecutor EXECUTOR = new.原创 2021-12-30 13:37:16 · 473 阅读 · 0 评论 -
easyExcel导入文本类型的时间校验以及格式转换
首先日期格式避免转换,接收时直接用文本格式接收:excel中输入日期默认保存的格式:2021/1/3package net.dgg.hr.modules.emp.entity;import com.alibaba.excel.annotation.ExcelProperty;import lombok.Data;import java.io.Serializable;/** * @program: hr-service * @Description: 转正信息 * @Autho原创 2021-07-26 14:40:57 · 6856 阅读 · 2 评论 -
二倍均值算法实现公平抢红包
假设剩余红包金额为m元,剩余人数为n,那么有如下公式。每次抢到的金额 = 随机区间 [0.01,m /n × 2 - 0.01]元 这个公式,保证了每次随机金额的平均值是相等的,不会因为抢红包的先后顺 序而造成不公平。举个例子如下。 假设有5个人,红包总额100元。 100÷5×2 = 40,所以第1个人抢到的金额随机范围是[0.01,39.99]元,在正常 情况下,平均可以抢到20元。 假设第1个人随机抢到了20元,那么剩余金额是80元。 80÷4×2 = 40,所以第2个人抢到的...原创 2021-07-19 16:44:07 · 1540 阅读 · 0 评论 -
easyExcel导出合并指定的单元格
项目中需要导出并合并指定的单元格,直接上代码:/** * 项目列表导出 */@GetMapping("v1/export_excel.do")@ApiOperation(value = "项目导出", httpMethod = "GET")@CrossOriginpublic void excel(@RequestParam("id") String id, HttpServletResponse response) throws IOException { //查询需要导原创 2021-07-12 21:52:13 · 3214 阅读 · 2 评论 -
SQL Server数据库定时自动备份
sqlserver 可以通过微软工具SQL Server Management Studio 进行数据库定时自动备份,具体步骤如下:1,打开SQL Server Management Studio (本例以sqlserver2008 r2为例),打开 作业2,“作业”文件夹右键点击,出现右键菜单,点击“新建任务”3,在“新建任务”对话框,常规区域,输入名称(自定义),并选择相关...原创 2021-07-02 14:53:31 · 3365 阅读 · 0 评论 -
mybatis中大于小于的写法
第一种写法(1):原符号 < <= > >= & ' "替换符号 < <= > >= & ' "例如:sql如下:create_date_time >= #{startTime} and create_dat.原创 2021-07-02 14:52:10 · 12719 阅读 · 0 评论 -
java将list集合中具有相同属性的对象放入到一个新的list中
List<List<User>> result = new ArrayList<>();Map<Integer,List<User>> map = new HashMap<>();//userList是要操作的list集合for (User user : userList) { Integer age = user.getAge(); List<User > lstUser; if (map.c...原创 2021-07-01 18:00:46 · 4739 阅读 · 1 评论 -
java双层递归,并结合javascript 求多层循环嵌套,并解析成数学公式
@Slf4jpublic class RuleCalcUtils { public static String json = "{\"id\":1,\"parentId\":0,\"rules\":0,\"map\":[{\"id\":0.21713562278031895,\"parentId\":1,\"rules\":2,\"map\":[{\"userLevelParam\":\"职级\",\"range\":\"实时数据\",\"relation\":\"不属于\",\"userLe.原创 2021-06-15 15:45:29 · 441 阅读 · 2 评论 -
java字符串集合转换成数字类型集合
List<String> strings = Arrays.asList(infos.split(","));//List<String>转List<Long>List<Long> ids = strings.stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());原创 2021-06-11 16:14:19 · 2807 阅读 · 1 评论 -
mysql传入一个参数(一个输入框),模糊匹配多个字段查询
select id,name,user_out_work_no as workCode,user_level_name as userLevelNamefrom crisps_mch_user_infowhere mch_detail_id = #{mchUserParam.mchDetailId}<if test="mchUserParam.nameWork != null and mchUserParam.nameWork != '' "> AND CONCAT( IFNUL.原创 2021-05-21 15:17:51 · 2753 阅读 · 0 评论 -
合理的设置hashMap和arrayList的初始化值
我们在使用集合时,加入准备存n个元素进去,那么对于hashmap和arrayList分别该怎么设置初始值大小呢?HashMap,默认初始容量为16,加载因子0.75,2倍扩容,如果预知存储为n个,则 n/0.75向上取整为m(此处默认加载因子是0.75),则初始容量设为大于m的最小的2的幂次方的数(其实底层默认就是2的幂次方),较少resize带来的消耗。n/0.75向上取整为m,然后初始容量设置为大于m的最小的2的幂次方的那个数。比如hashMap预知存3个元素,那么初始值则应该设置为 3..原创 2021-03-09 16:45:33 · 1114 阅读 · 0 评论 -
list集合分组
Lists.partition(List list, int size)用法首先引入依赖<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>25.0-jre</version></dependency>项目中使用举列:List<Strin原创 2020-08-20 17:19:00 · 790 阅读 · 0 评论 -
oracle 中当同时使用 rownum 和 order by 时排序错乱问题
如下SQL语句,我想取前5条最大的数据:select year,unitname,substr(comname,0,2) as sheng,bzze as baoe, premium as baofei,yjpk as peikuan from project_caseinfo where rownum <= 5 and riskcode = '2509'order by baoe desc使用上面的SQL,查询出来的数据排序错误,需要将SQL改成先排序后 取前5条数据。如下:sele原创 2020-08-13 14:02:57 · 2206 阅读 · 0 评论 -
linux上jvm调优
首先执行命令:java -version如果显示如下信息:则表明linux系统中只安装了java的jre 环境,使用jstack和jmap等需要安装jdk环境安装整个java运行环境,输入:java -version,显示如下信息则表示安装完成进入java安装目录的bin目录:cd /java/binJVM性能调优监控工具JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jst原创 2020-07-28 14:47:37 · 1607 阅读 · 0 评论 -
在spring 3.0及以上版本中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入
1 首先在applicationContext.xml中加入: <beans xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd"></beans&...原创 2020-07-06 10:46:08 · 162 阅读 · 0 评论 -
java上传文件到linux文件下
最近一个项目的需求是上传文件到图片服务器中,图片服务器是部署在linux上的一个tomcat容器,话不多说,直接上代码一个工具类即可搞定:package com.supermap.sbsm.util;import com.jcraft.jsch.Channel;import com.jcraft.jsch.ChannelSftp;import com.jcraft.jsch.JSch;import com.jcraft.jsch.Session;import org.apache.com原创 2020-07-06 10:13:46 · 5839 阅读 · 2 评论 -
springboot使用MultipartFile获取上传视频的时长(不用在本地生成临时文件)
1.需要下载第三方jar包:该工程使用的是SpringBoot。由于在maven仓库中没有jave-1.0.2.jar这个jar,所以需要自己去下载到本地微云地址:https://share.weiyun.com/5epeWn5 点击可直接快速下载2.将jave-1.0.2.jar这个jar包引入到项目中,放在项目的src/main/resources/lib目录下3....原创 2020-03-20 15:28:02 · 6337 阅读 · 0 评论 -
汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例
有人认为编程是一门技术活,要有一定的天赋,非天资聪慧者不能及也。非也,这是近几年,对于技术这碗饭有一些心得体会,大多数人成为某领域顶级专家可能会有些难度,但应对日常工作,成长为资深研发工程师、技术专家、甚至成为小团队的Team Leader,其实并不难。多读书、多看报,多研究常用开源框架的源码,比如:github.com,这里汇集了全球工程师的智慧!言归正传,下文会列举工作中常用的一些技术...原创 2019-12-10 09:01:40 · 328 阅读 · 0 评论 -
java设置内置对象用于内部存储取值
最近做一个项目,需要调用第三方接口,第三方接口访问需要携带token,项目中用kafka接收的第三方数据,kafka消费时需要调用第三方接口,但是kafka不能携带token,又不能直接从前端接口获取,怎么才能在kafka消费里面获取到token值呢?我们这里写了个工具类用来存储值,方便其他地方取值。public class TokenUtil { //token信息放入缓存 ...原创 2019-12-06 14:55:38 · 200 阅读 · 0 评论