自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 mysql使用FIND_IN_SET函数解决两张表没有主键id强关联,而是A表中的某个字段值,存在B表中的集合字段中

mysql使用FIND_IN_SET函数解决两张表没有主键id强关联,而是A表中的某个字段值,存在B表中的集合字段中。

2023-10-11 11:22:21 136

原创 你知道怎么在事务方法中处理异步方法,保证数据一致性吗?

今天同事遇到了,因事务方法中,调用了异步线程,导致数据未查询到(主订单的包装信息,该主订单包含了两个子订单信息)。解决思路:手动提交事务后,再调用异步线程。看一下伪代码第一种方案:手动提交事务后,在调用异步线程。第二种方案:用Spring提供的AbstractPlatformTransactionManager的api更改后的代码注意:此方法会在事务提交后执行afterCommit 的代码块。我推荐第二种,代码简化PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加

2022-07-14 16:23:20 3275 2

原创 java8之CompletableFuture 异步处理

记录在工作中遇到 一个页面的报表统计接口,因为数据组成有很多方面,每个方面对应的是一个方法,问题点:因为我的子方法涉及的有6个,怎么来减少等待时间? 处理办法就是,利用多线程,异步处理并带返回值,接下来我们利用CompletableFuture 来完成此业务。1. CompletableFuture介绍Future模式的缺点Future虽然可以实现获取异步执行结果的需求,但是它没有提供通知的机制,我们无法得知Future什么时候完成。要么使用阻塞,在future.get()的地方等待futur

2022-05-10 16:08:46 1042

原创 简单检测java服务是否存活,如果没有存活,启动服务的工具

package com.example.util;import java.io.IOException;import java.net.InetSocketAddress;import java.net.Socket;/** * @author :Fan * @date :Created in 2022/4/18 14:18 * @description: * @modified By: */public class PingServer { /** * 要监听的

2022-04-18 14:41:50 2089

原创 SpringBoot 查询redis 数据进行分页

查询redis 分页工具类1.PageUtilpackage com.herdsric.admin.util;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Component;import javax.annotation.Re

2022-02-15 18:08:38 14656 13

原创 java自定义sql 格式化工具

/** * @author :范春宇 * @date :Created in 2021/11/3 20:06 * @description: sql占位符替换工具类 * @modified By: */public class SqlPlaceholderReplaceUtil { /** * 替换掉SQL注入的那些字符 ['|;|--| and | or ] */ private static String SQL_INJECT_CHARS = "([';]+|(--)+|(\

2021-12-03 15:00:22 770

原创 JAVA通过日历类获取当前时间是星期几

/** * 校验传入的星期日期是否是今天 * @param dayOfWeek * @return */ public static Boolean checkEqualDayOfWeek(String dayOfWeek){ String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; try { //如果是北京时间时区设置GMT+8 TimeZone.setDefault(TimeZon

2021-08-25 19:14:59 497

原创 好用的Spring Boot实现SFTP上传文件工具类

1.工厂方法package com.xx.xxx.xx.factory;import com.jcraft.jsch.*;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import java.util.Properties;/** * SFTP工厂类,用于获

2021-08-24 18:41:18 489

原创 记录一次java8分组再计算的应用

记录一次java8分组再计算的应用 List<SmSku> tableData = smOrder.getTableData(); List<SmSku> categoryList = new ArrayList<>(); //按批次分组 tableData.parallelStream().collect(Collectors.groupingBy(o ->o.getRealCategoryChName(),Collectors.toList())).

2021-03-04 19:59:00 202 1

原创 list,随机取出一定数量的集合

记录工作中的点滴解决需求:一个总题库,分了类型单选题、多选题、判断题、问答题,试卷的规则是要在这个总题库中,随机取出一定数量的某个类型的试题。下面看代码private List<QuestionBank> getQuestionBanksByType(String type,List<QuestionBank> questionBanks,int num){ //利用java8的特性。集合过滤筛选出来的集合 List<QuestionBank> collec

2020-11-17 10:51:24 1448

转载 异步+@Transactional会不会生效?

每篇一句将依赖做到精简是中间件岗位最基本的素养,美国童子军也有一条军规:让营地比你来时更干净。 请参阅书籍《Clean Code》前言如题,如果把这两者拆开来看的话,两者你应该都不陌生:@Async你不陌生,@Transactional你应该更不陌生,若单独拿来使用,理论上应该木有不会用的吧。本文不废话,分析一下他俩结合一起使用的case,因为据我了解很多人对结合一起使用时,心里还是打鼓的,这样对生产环境使用还是有隐患的。相较于@Transactional的使用,关于@Async的一些使用case相

2020-10-24 14:39:43 2894

原创 WebSocket集群开源项目使用

这里鸣谢码云xxssyyyyssxx 作者场景公司的一个直播业务需要用到集群WebSocket,2019年用过以Redis集群的方式,因为自己的经验不足,有消息累积增加发送,意思就是,当一个用户,重复断开、连接。会根据次数,来增加接收信息的次数。直接开干,上才艺maven项目直接引入pom依赖<!-- https://mvnrepository.com/artifact/top.jfunc.websocket/websocket-springboot-starter --> &l

2020-10-12 17:16:13 407

原创 List集合字符串时间排序

/* * 将List<Map<String,Object>>进行排序 * @param list * @param sortColunm(需要进行排序的字段)[注:只支持int类型字段] * @param desc(true-从大到小/false-从小到大) * @return sortList */ public static List<Map<String,Object>> getSort(List<Map<Stri.

2020-07-14 10:32:18 1809

原创 微软发送邮箱,端口无屏蔽版

import javax.activation.DataHandler;import javax.activation.DataSource;import javax.activation.FileDataSource;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessag

2020-05-21 17:01:25 444

转载 Nginx之匹配规则

Nginx匹配规则概念:语法:修饰符:Location 配置实例:则会忽略 uri 部分的大小写概念:我们可以通过配置Location指令块,来决定客户端发过来的请求URI如何处理。语法:Syntax: location [ = | ~ | ~* | ^~ ] uri { … }location @name { … }Default: —Context: server, locationlocation 配置可以有两种配置方法,可以在server指令块和location指令块配置。1、修饰

2020-05-15 13:36:04 394

原创 Mar 25, 2020 9:22:02 AM DateTiem类型转换为Date

Mar 25, 2020 9:22:02 AM DateTiem类型转换为Date工具类public Date parseDate(String time){ SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateForma...

2020-03-25 12:02:50 825

原创 优雅的解决在for循环中 new Object 耗费性能和效率问题

作为初级程序员开发阶段,很不注意代码的性能问题,例如:在一个for循环中一直new Object,这样会占用内存,new的对象数量少可能看不出来问题所在,如下面的代码。第一种可能是我们常见的写法,加入我要在for循环中,有个需求要重复引用对象(次数假如5个),你该怎么解决? List<User> userList1 = new ArrayList<>(); ...

2020-02-27 11:09:02 7341 7

转载 java8 时间的新特性

Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。Java 8中获取今天的日期Jav...

2020-01-15 16:57:45 223

原创 java8 分组计算数量和计算总数

package com.pig4cloud.pigx.admin.api.vo;import lombok.Builder;import lombok.Data;import lombok.experimental.Tolerate;import java.util.*;import java.util.stream.Collectors;/*** * *Create by ...

2019-12-26 17:55:13 10237 2

原创 Lombok中@Builder注解

@Builder注解用了之后会 省略繁琐的 实例化对象例如:@Data@Builderpublic class Student{private String name;private Integer agge;}没有加@Builder注解前:Student stu = new Student();stu.setName("小明");stu.setAge(18);加@...

2019-12-25 20:01:42 286

原创 SpringBoot Junit 测试报错

SpringBoot Junit 测试如果当你 Junit 测试的时候报这个错,就要看过来了解决办法:检查Spring-test的版本是否跟parent依赖版本保持一致如果当你 Junit 测试的时候报这个错,就要看过来了java.lang.NoClassDefFoundError: org/springframework/core/annotation/MergedAnnotations$S...

2019-12-25 14:55:00 243

原创 js格式化数字的小数点

<script type="text/javascript">//保留两位小数//功能:将浮点数四舍五入,取小数点后2位function toDecimal(x) {var f = parseFloat(x);if (isNaN(f)) {return;}f = Math.round(x*100)/100;return f;}//制保留2位小数,如:2,会在2后面...

2019-10-22 14:10:57 933

原创 解决微信支付body传参中文,导致签名失败

前言在看下面解决办法之前,你们是不是试过两种方法。String body = “微信支付”;在body参数赋值的时候 用 new String(body.toString().getBytes(“ISO8859-1”),“UTF-8”);在拼接xml发送数据调用api之前,把 xxx.toXml(new String(xmlParam.toString().getBytes(),“UTF...

2019-09-18 18:37:08 469

原创 java 计算同比增长工具类

java计算同比增长率的工具类为了数据的严谨性,统一装换为BigDecimal,话不多说,看代码。欢迎大家加群 进行讨论 qq群:714398799package com.pig4cloud.pigx.admin.api.util;import java.math.BigDecimal;public class PercentCount { public String perc...

2019-08-06 17:50:58 6056 3

原创 js 对象数组 循环判断

一. js循环对象这个方法很好用。var a = true; this.selectArr.forEach(item=>{ if(row.itemNo===item.itemNo){ // 对象里的唯一标识id a = false; } }) return a;...

2019-07-29 16:35:42 1354

原创 RectiveMq入门总结

####### 1.生产者和消费者之间有时间上的相关性。订阅一个主题的消费者只能消费自它订阅之后发布的消息。JMS 规范允许客户创建持久订阅,这在一定程度上放松了时间上的相关性要求。持久订阅允许消费者消费它在未处于激活状态时发送的消息。####### 2.订阅者一和订阅者二都能收到一样的消息,也就是说在发布订阅模式下,一份消息可以被多个消费者消费消息相关概念####### 消息类型JMS ...

2019-07-14 19:29:52 357

原创 springBoot写拦截器遇见的坑,不拦截页面的问题

本人在写springboot拦截器的时候遇见的一系列问题在spring2.0之前的版本大部分都采用extends WebMvcConfigurerAdapter,把拦截器配置成一个bean,具体的方法,我不细说,网上一大堆。而在spring2.0之后,这个extends WebMvcConfigurerAdapter方法就过时了,官方推荐用implements WebMvcConfigure...

2018-11-27 15:46:21 7641 10

原创 mysql 查询当天、本周,本月,上一个月的数据

今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) &amp;amp;amp;lt;= 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) &amp;amp;amp;lt;= ...

2018-10-31 15:58:26 219

转载 Eclipse创建WebSocket

要求:Tomcat必须7.0以上,创建Dynamic web project1.前台代码index.html注意:把js文件引一下,或者用百度的&amp;amp;amp;amp;amp;lt;!DOCTYPE html&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;html&amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;lt;head&amp

2018-10-24 10:30:39 2665 2

原创 SpringBoot @value注解取不到值的问题

##关于@value的springapplication容器的问题1.在src/main/resources下创建stu.properties文件##student.name=Tomstudent.age=22student.birthday=1996/01/10student.sex=truestudent.hobbies[0]=swimmingstudent.hobbies[1...

2018-10-17 12:27:13 81887 5

原创 SpringBoot扫描不到Controller的解决办法

SpringBoot小白创建项目,扫描不到Controller一系列问题1.2.3.4.5.6.还有一种办法是在启动服务类的入门,添加@ComponentScan(basePackages={“xxx.xxx.xx”,“xxx.xxx.xx”})里面的是包的全限定名,可以为多个希望能帮助很多困惑的人,谢谢...

2018-10-15 19:25:30 2719

SimplePrint

java基于ts24.lib条形码打印,常用于斑马打印机,TSC的使用TSCLB.dll,喜欢就下载它

2020-07-15

tcc-transaction-master-1.2.x.zip

本Demo是基于Dubbo的分布式事务处理,欢迎大家评论

2019-07-12

简单的WebSocket实现

本资源提供了简单的webScoket实现方式,使用工具为Eclipse,基于Tomcate7.0以上

2018-10-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除