自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 SpringBoot整合WebSocket实现消息推送或聊天功能示例

springboot整合websocket服务,处理nginx配置和gateway通知转发消息问题

2024-09-14 18:07:09 847

原创 MySQL根据日期统计时没有数据的日期也需要返回0

我们经常会碰需要根据日期统计数据的问题,正常情况 GROUP BY 日期就可以得到我们想要的数据,但是有些时候某些日期没有数据可是我们又想它能返回一个0,这个时候 GROUP BY 就不行了。从上面的结果可以看出除了有数据的日期,没有数据的日期也会返回一个0.00,这里要注意 WITH RECURSIVE 是 MySQL8.0 才有的。现在我们希望在没有数据的日期也返回该日期和对应的 0 值,这里可以通过创建一个日期序列来实现。先看 GROUP BY 查询。

2024-09-12 15:19:45 333

原创 Java获取小程序码示例(三种小程序码)

Java获取小程序码示例(三种小程序码)

2024-09-06 10:57:23 921

原创 MySQL递归获取商品分类以及所有下级分类商品

MySQL通过递归获取所有下级分类数据

2024-09-02 11:36:52 426

原创 Java根据经纬度计算两个坐标之间的距离(含SQL计算)

最近接到两个需求,一个是通过小程序扫码开门的,我这边主要就是根据用户定位判断用户离扫码店铺距离小于多少米的时候才可以调远程调开门接口,另外一个就是获取用户周围有哪些店铺。主要就是根据定位获取的经度维度计算两个点之间的球面距离,这里我们主要采用Haversine公式来计算,据说这是目前比较精确用来计算地球上两个点之间距离的算法

2024-08-30 18:12:44 559

原创 MySQL将数据库所有表格和列编码格式从utf8mb3换成utf8mb4

MYSQL将数据库所有表格字段字符集从 utf8mb3 换成 utf8mb4

2024-08-30 09:28:27 1043

原创 Java去掉字符串中的特殊符号只保留中文数字和字母

Java去掉字符串中的特殊符号只保留中文、字母和数字

2024-08-27 15:28:09 163

原创 Java微信小程序获取openId和用户手机号示例

用户扫码进入小程序时,前端以静默的方式调用一次 wx.login() 方法拿到 code 再调后端接口去获取用户 openId 和 unionId(绑定开放平台后会返回),后台拿到 openId 后就可以给用户返回登录成功信息,信息里面可以有一个手机号标识,然后前端再根据这个标识判断,如果没有手机号,前端再调小程序微信授权手机号的按钮,这个必须用户手动确定,前端拿到手机号授权 code 再送给后端获取手机号并更新到用户信息,完成绑定。

2024-08-23 18:49:34 641 1

原创 Java导出Excel给每一列设置不同样式示例

Java导出Excel给每一列每一行设置不同的样式,比如单元格大小、背景色和字体等

2024-07-30 20:11:36 331

原创 Java企业微信服务商代开发获取AccessToken示例

最后就是应用的 suite_id 和 suite_secret 还需要一个 suite_ticket ,前面两个在应用信息里面就可以看到,suite_ticket 这个也是需要通过回调获取 ,具体参考官方文档。然后是企业的 corpid 和企业的永久授权码 permanent_code ,这两个是需要在企业授权的的时候通过回调获取的,具体请参考官方文档。可以看到里面大致有三种token,一个是服务商的token,一个是企业授权token,还有一个是应用的token。还有企业微信的两个基本配置类。

2024-07-24 15:47:49 429

原创 Java XML转JSON工具类

最近对接微信发现很多接口数据用的还是XML格式,所以为了方便使用我们给它转成JSON格式的,这里特别处理了一下多层嵌套的问题。

2024-07-23 16:33:08 235

原创 SpringBoot整合XXL_JOB示例

springboot整合xxl_job实现定时任务管理调度

2024-07-12 14:01:00 872

原创 MYSQL审批流程判断同一层级审批人是否全部通过审批

我们再看一下apply_id 为1 serial_no 为1的,因为都审核通过了所以返回的就是1了。在做流程审批的时候,通常会出现某一层有多个审批人的情况,这个时候需要所有人都通过才会进入到下一步。可以看到 apply_id 为1 serial_no 为2的因为还有一个人没有审核完成返回的是0。serial_no相同的代表是同一层级审批人。approval_status是审核状态。每一个审批申请对应一个apply_id。下面我们可以用一个SQL来进行这个判断。数据结构如下图表格所示。

2024-07-11 17:41:34 295

原创 MYSQL查询审批流程最新的一条记录示例

普通用户查询没什么好说的,我们只需要在业务层判断当前用户不是管理员,那么 user_id 等于当前登录用户ID就可以,这里重点要处理的是管理员查看所有的审批记录问题,因为作为管理员肯定每个申请只需要看到一条,而且看到的这条应该是最新的一条才行。接下来我们来处理管理员本身也是审批人的问题,这个时候他需要看到的就不是最新的那条记录,而是应该获取自己审批的那条,所以当登录用户是管理员的时候,我们就需要先判断当前申请审批记录里面有没有他的记录,有的话就查自己的,没有的话就查最新的。数据结构如下图表格所示。

2024-07-11 17:06:21 402

原创 Java启动jar包设置内存分配详细说明

调整堆内存大小:根据应用程序的实际内存需求,调整 -Xms 和 -Xmx的值。通常,初始堆大小(-Xms)和最大堆大小(-Xmx)应该设置为相同,以避免 JVM在运行过程中调整堆大小带来的开销。可以根据应用程序的特点选择合适的垃圾回收器。新生代内存调整:新生代(-Xmn)的大小应该根据应用程序对象的生命周期进行调整。JVM 会选择默认的垃圾回收器,这通常是并行垃圾回收器(Parallel GC),具体取决于 JVM 的版本。新生代大小(-Xmn):默认情况下,新生代的大小会根据堆大小动态调整。

2024-06-20 19:30:08 2733

原创 Java AES加密工具类

在做AES加密的时候一定要注意private static final String DEFAULT_CIPHER_ALGORITHM = “AES/ECB/PKCS5Padding” 这个参数,很多时候前后端加密解密不一致都是这里配置不一致导致的。如果明文数据不是 16 字节的倍数,就需要进行填充。缺点是相同的明文块会被加密成相同的密文块,容易受到模式分析攻击,因此不适合加密大数据或高安全性需求的场景。举例来说,如果你加密的文本有很多重复的模式,使用 ECB 模式会暴露这些重复模式的信息,降低安全性。

2024-06-20 17:07:11 497

原创 Java实现自动定时任务配置并判断当天是否需要执行示例

最近接到一个需求,就是用户要能配置一个定时循环的任务,就是和手机闹钟循环差不多,设置好比如周一、周二、周三,那么在这几天内这个任务就需要自动执行。需求不复杂,首先我需要判断当前是周几,当然用户说了让我看手机闹钟的循环规则,我看了下还有法定工作日和法定节假日这些。所以我们先写个工具类来判断当前日期是否需要执行。剩下的就好说了,我们只需要加一个定时器就可以了。显示今天不是需要重复的一天,因为今天星期四。

2024-06-20 16:33:31 348

原创 Java注解@Transactional失效特殊情况

双数据源导致事务失效

2024-06-14 20:08:29 406

原创 简单实现企业微信远程打卡教程(永不迟到)

通过手机模拟器实现企业微信远程打卡教程

2024-03-30 16:50:46 31556 34

原创 Java设计模式之建造者模式

建造者模式是一种创建型设计模式,它允许你创建复杂对象的过程与该对象的表示分离,使得同样的构建过程可以创建不同的表示。

2024-03-30 13:59:52 475

原创 Java多线程实现主线程等待异步结果示例

通常为了加快程序运行速度,我们可以在程序中开启异步线程任务,在异步任务执行期间,主线程可以继续执行其他任务,最后我们还需要主线程等待异步线程完成后一起结束,下面是用CompletableFuture实现的一个示例

2024-03-30 11:35:18 341

原创 Java设计模式之观察者模式

观察者模式是一种行为设计模式,它允许一个对象(称为主题或可观察者)维护一系列依赖于它的对象(称为观察者),当主题的状态发生变化时,它会自动通知所有的观察者。这种模式被广泛应用于实现对象之间的松耦合,其中主题和观察者之间的关系是动态的。

2024-03-30 11:20:17 829

原创 Java设计模式之代理模式

代理模式是一种结构型设计模式,其目的是在不改变原始类(被代理类)的前提下,通过引入代理类来间接访问原始类,并且可以在代理类中添加额外的逻辑或控制访问原始类的方式。

2024-03-28 16:33:12 1106 1

原创 Java设计模式之装饰器模式

装饰器模式是一种结构型设计模式,它允许动态地将责任附加到对象上。装饰器模式是通过创建一个包装对象,也就是装饰器,来包裹真实对象,从而实现对真实对象的功能增强。装饰器模式可以在不修改原有对象的情况下,动态地添加功能。

2024-03-28 11:35:37 1119

原创 Java设计模式之适配器模式

Java设计模式之适配器模式

2024-03-27 11:44:22 1047

原创 Java设计模式之工厂模式

Java设计模式之工厂模式

2024-03-26 16:03:07 1148

原创 Java设计模式之策略模式

Java设计模式之策略模式

2024-03-22 17:37:27 1677

原创 Java设计模式之单例模式(多种实现方式)

Java设计模式之单例模式(多种实现方式)

2024-03-21 16:49:11 1781 3

原创 MySQL通过SQL语句进行递归查询

MySQL通过SQL语句进行递归查询

2024-03-09 17:33:40 1209

原创 MySQL死锁详细介绍

MySQL死锁详细介绍,包括行锁表锁等问题

2024-03-09 14:39:38 997

原创 Java对接腾讯云直播示例

Java对接腾讯云直播示例

2024-03-08 16:16:33 1962

原创 SpringCloud中Gateway提示OPTIONS请求跨域问题

SpringCloud中Gateway提示OPTIONS请求跨域问题

2024-03-08 14:26:59 906

原创 Java实现的双向链表示例

Java实现的双向链表示例

2024-03-07 15:17:12 201

原创 Java红黑树实现Map简单示例

Java红黑树实现Map简单示例

2024-03-07 14:07:37 501

原创 Java实现布隆过滤器示例

Java实现布隆过滤器示例

2024-03-06 17:39:35 308

原创 Java多线程循环打印数字和字母问题

Java两个线程,一个线程打印 1~52,另一个线程打印字母A-Z。打印顺序为12A34B56C……

2024-03-05 15:11:41 181

原创 Java多线程卖包子问题(附多种实现方式)

Java多线程实现卖包子问题的N种方式

2024-03-05 11:54:27 467

原创 Java多线程导出Excel示例

Java多线程导出Excel示例

2024-03-02 13:39:01 1242

原创 Java多线程通过join控制线程执行顺序

Java多线程通过join方法控制线程执行顺序

2024-03-01 17:16:05 254

原创 Java多线程导入Excel示例

Java通过多线程快速导入大量数据Excel方法示例

2024-03-01 16:12:38 1436 3

空空如也

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

TA关注的人

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