- 博客(33)
- 收藏
- 关注
转载 java8 stream常用操作
filterList<Employee> employeeIs1 = list.stream().filter(e -> e.getName().contains("Alex")).collect(Collectors.toList());map List<Leader> leaders = list.stream().filter(employee -> employee.getSalary() == 2000).map(employee -> {
2022-01-22 22:42:50 511
原创 oracle的关键字大全
nvlnvl2nullifcoalescedecodemerge into v5_tenant_repair_appl_follow fusing (select '2018111219530688462' ra_id,'test' ra_staffcode from dual) non(f.ra_id=n.ra_id)when matched then update set f.ra_staffcode=n.ra_staffcodewhen not matched then.
2022-01-15 22:55:11 1700
原创 常见bug
一修改sql的select查询条件时,需要同时查看是否有group by分组条件。如果有group分组条件,需要在group by后同时修改二利用mybatis修改sql时,需要注意and/or等条件是否缺失三对一个属性做更改前,查询其是否为空,或者说是否从数据库中已经读出。比如读取Student类的sex,如果数据库没读,那么判定性别后处理的逻辑就进不去。...
2022-01-15 21:14:52 837
原创 for循环中查询和更新sql导致请求慢
for循环中做查询或者更新sql,一条一条处理,很慢。要一次查询多条,java中做处理,对于很少变换的数据,可以利用缓存
2022-01-05 21:37:45 1332
原创 oracle查询in大于1000的问题
oracle,mybatis框架foreach...in。记录大于1000条,报错,可以写注解实现大于1000,在注解中做切割查询,拿到结果后再合并的逻辑。
2022-01-05 21:35:05 945
原创 上传excel和扫描条码特殊字符过滤问题
输入条码做trim两边去空格。特殊字符/r /n /r/n同理去掉、否则用户录入了name,带特殊字符或者两端空格,但是他不知道。系统录入的是带特殊字符的,下次拿正确的字符去查找就匹配空了。
2022-01-05 21:26:25 234
原创 springboot搭配redis缓存注解
启动类+注解 @EnableCachingcontroller:/** * 缓存测试 * @param baseRequest * @return * @throws BizException */@PostMapping("/testRedisCache")public BaseResponse testRedisCache(CustomerDeliveryDetailRequest baseRequest) throws BizException { WmsEntityRes.
2021-12-14 16:29:33 840
转载 java8 Stream
说起stream的流, 在平时的工作中, 很多同事都在用, 而且用的很牛逼, 代码的效率也是溜溜的, 真的牛逼的不行了, 自己一直想学习一下, 虽然在开发中也慢慢学习了一些, 但是感觉还是一直没有掌握其精髓, 今天有空, 赶紧总结一下吧, 也算是了结自己一个小小的心愿1. stream流简介Stream作为 Java 8的一大亮点,它与 java.io 包里的 InputStream和 OutputStream是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazo
2021-12-11 22:48:04 100
转载 Java线程池中三种方式创建 ThreadFactory 设置线程名称
本文讲一下Java线程池中创建 ThreadFactory 设置线程名称的三种方式。设置线程名称是很重要的,如果你没有设置过,说明你还“涩世”不深,这里面的坑还不曾踩过,而我 在坑里进去然后坑里出来,被坑的那是一个相当的爽啊~为了让不重蹈我的覆辙,为了未来不说起来都是满眼含着“热泪”,还是看下如何设置,顺便也设置设置。文章目录 第一种 CustomizableThreadFactory 第二种 ThreadFactoryBuilder...
2021-12-10 18:29:38 2756
原创 UI设计思考
做toB的软件项目,某个甲方运营人员吐槽我们,功能实现了,但是不好用。产品有web端和PDA端两部分,站在运营的角度,需要使用简单,操作方便。PDA端:涉及tab页的自动切换:合适的时机展示合适的tab页给用户观看。光标的自动移动:扫描成功自动跳转下一个扫描界面,扫描失败不跳转等消息的及时提示:扫描成功或者不成功提示异常的明确告知:业务异常清晰提示客户扫描完成后的自动回跳时间格式的确定:精确到日还是时分秒Web端:查询条件的顺序统一查询条件的风格统一列表展
2021-11-29 14:11:25 149
原创 阿里云docker安装nginx和tomcat
第一步:docker pull nginx可以看到docker的联合文件系统,分层pull接着敲命令:docker images查看docker镜像,可以看到nginx第二步:启动nginxdocker run -d -p 80:80 nginx 以后台方式启动docker,端口映射为外部80映射容器80端口docker ps 查看docker启动的容器curl localhost:80 访问80端口,返回html页面信息...
2021-11-08 20:53:09 1922
原创 阿里云玩docker
阿里云,轻量应用服务器。2核1G,60块包月。docker的安装第一步:更新yumyum -y update第二步:卸载旧的docker遗留yum remove docker docker-common docker-selinux docker-engine第三步:安装软件依赖yum -y installyum-utils device-mapper-persistent-data lvm2第四步:增加docker的来源:yum-c.
2021-11-08 20:25:47 234
原创 mybatis常用的标签
CHOOSE-WHEN标签:<choose> <when test="expiredFlag==0"> AND b.EX_STATUS not in('EXPIRED','PREEXPIRED') </when> <otherwise> AND b.EX_STATUS in('EXPIRED','PREEXPIRED') </otherwise>&.
2021-11-05 21:42:44 198
原创 mybatis利用xml做批量插入和批量更新(oracle数据库)
数据库:oracle批量插入第一种:<insert id="insertBatch"> insert into PREEXP_BOX_CONTROL(ROW_ID,ORD_NO, ITEM_NO, PLANT_CODE, WARE_CODE, MAT_CODE, MAT_NAME, LOT_NO, STORAGE_BOX_ID, BOX_CODE, CELL_CODE, QTY, CTRL_REMARK, MFG_DATE, EX_DATE, DATE_CODE,
2021-11-03 23:44:26 1285
原创 springboot项目搭建(一)
前置环境,安装jdk,idea,maven环境在idea中新建一个maven项目:这里面我默认选择的jdk是11这里面我假定做一个学生管理系统,叫做studentmanage的系统。在这里面我需要做几个模块,分别为studentmanage-task,studentmanage-rpc,studentmanage-mq,studentmanage-web.开始加子模块:基本的maven结构创建完毕。接下来开始编辑父pom文件。&...
2021-11-03 15:24:05 164
原创 pageHelper的分页
PagerHelper的分页,看了十几分钟。核心是利用Ibatis的拦截器,进行拦截。拦截后针对不行的sql服务,比如mysql,sqlserver写方言,添加分页机制/* * The MIT License (MIT) * * Copyright (c) 2014-2017 abel533@gmail.com * * Permission is hereby granted, free of charge, to any person obtaining a copy * of th
2021-09-05 15:06:38 181
原创 sql分组并发查询,java中合并
比如从oracle中查询10万条数据,做业务处理后再更新。查询时可以根据单表的主键做partition,并发读取后,在java中组装。sql:AND MOD(ora_hash(INVENTORY_ID),#{modValue})=#{currentModValue}java:public List<TrInventoryEntity> queryTrInventoryComplex(TrInventoryEntity entity) throws Interrupte.
2021-08-14 14:14:05 447
原创 springboot 切面 修改response返回值
@Component@Aspect@Slf4j@Order(Integer.MAX_VALUE)public class ResponseFilter { @Autowired RequestLockLogService requestLockLogService; @Around("execution( * cn.tfinfo.microservice.wms.biz.*.controller.*.*(..))") public Object doAroun.
2021-08-13 12:27:15 4501
转载 2021-06-07
Springboot热部署。亲测有效。带tomcat的热部署就不说了,非常简单。转载原文:https://blog.csdn.net/qq_16148137/article/details/99694566
2021-06-07 22:29:09 57
原创 springboot用Java命令启动
maven-install之后的jar包如下:打开CMD命令行进入该jar包目录:在CMD命令行输入(java 启动参数 -jar jar包名称:):java -Dserver.addr=127.0.0.1:8848 -Dspring.profiles.active=dev -Dfile.encoding=UTF-8 -jar wms.jar启动成功...
2021-05-25 11:49:32 521
原创 常见的死锁问题分析
IDeadLockService:package com.impl;import com.entity.Student;public interface IDeadLockService { void pickUpSku(String cellNo,String sku,int amout); void checkSku(String cellNo,String sku,int amout); void lockfailed(String cellNo,String .
2021-05-21 12:00:01 147
原创 射击选手得分的排序问题
JAVA程序,N个射击选手,根据射击得分从小到大排名,射击得分一样则根据编号从小到大排名,很简单的一道题,可以用跳表做。JUC包下面提供跳表的List和Map结构。如下:ConcurrentSkipListSetConcurrentSkipListMap设计射击选手类:package com.entity;import lombok.Data;import java.io.Serializable;/** * (Shooter)实体类 * * @author .
2021-05-19 14:04:25 462
原创 will not be reattempted until the update interval of aliyun has elapsed or updates are forced
Failure to find maven_repo.org.apache.httpcomponents:httpcore-nio:pom:4.4.1 in https://maven.aliyun.com/repository/public was cached in the local repository, resolution will not be reattempted until the update interval of aliyun has elapsed or updates are
2021-05-18 11:37:05 1504
原创 ‘dependencies.dependency.(groupId:artifactId:type:classifier)‘ must be unique
'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.apache.poi:poi:jar ->version 3.9 vs ${poi.version} @ line 248, column 17Maven重复依赖:
2021-05-18 11:24:07 2284
原创 电商抢购高并发JAVA简单实现
假设场景如下:库存20瓶茅台53°。页面发起100万次请求抢购20瓶茅台,用Jmeter测试工具模拟。要求100万次请求全部得到及时响应,抢购到或者抢购不到。单机springboot内嵌tomcat,系统服务正常运行,不宕机。Demo设计思路:1 限流 每秒只放5个请求,其他请求直接返回:本次未抢购到。不走后续业务逻辑。2 缓存 每次用户请求茅台的剩余库存数时,查询jvm缓存中的剩余数量。说白了,上谷歌的guava包做。maven依赖引入<depend..
2021-05-16 20:58:24 1691
原创 lock写法
lock的标准写法。lock.lock()在try之前,之所以这么写呢是怕lock.lock时报错,lock.unlock会抛出异常。ReentrantLock lock = new ReentrantLock();lock.lock(); // 加锁try{ // do something}finally{ lock.unlock(); // 解锁}...
2021-05-15 23:45:22 258
原创 sql索引失效总结
1 like’%param‘索引失效,like’param%‘索引不失效2对索引列进行运算导致索引失效或者函数例如 select * from student where concat('张',name)='张三'3 查询关键字隐式转换导致索引失效例如 select * from student where name=1;name字段为varchar字段,传入参数1为数值4 使用not,!=,<>等函数时例如 selct * from student where ...
2021-05-15 23:30:19 569
原创 锁的double-check机制
先举例一个场景。一个货架有10个仓位。每个仓位可以补货,也可以拣货,补货是加库存,拣货是减库存,补货和拣货可以同时发生,比如两个人同时按PDA操作。每个仓位的补货和拣货操作独立。针对货架上每个仓位的补货和拣货,此时务必要关注并发问题,此时有一种思路,悲观锁,用java锁做。当然其他方法也很多,此时不谈。java的悲观锁应该说是单机部署时解决这种问题比较简单的方案。springboot程序。首先定义锁的提供者ILockProvider.class接口:package com.impl;p
2021-05-13 21:54:45 796
原创 ehcache缓存测试
springboot项目。tomcat的连接池最大线程数目设置为10。用Jeter做测试,一轮并发100个请求。springboot里面的Controller会请求一个service的方法,该service中有一个打印输出。同时该service上进行了ehcache缓存注解。那么请问service中的打印输出会打印几次?这几次打印时间节点有什么特征?pom.xml的maven引入:<dependency> <groupId>net.sf.ehcache</
2021-05-13 10:28:47 354 1
原创 Mybatis的#{}和${}
Mybatis的#{}和${}的区别。先看下面这一段sql。<update id="update"> UPDATE ${prefix}WF_PROCDEF_BILLTYPE SET proc_def_id = #{procDefId}, proc_def_key = #{procDefKey}, proc_def_name = #{procDefName}, biz_bill_type = #{bizBillType},.
2021-05-12 17:32:16 264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人