Utils
一湫1959
这个作者很懒,什么都没留下…
展开
-
日志埋点功能
开发中经常会有日志埋点需求, 用于统计接口的请求量、处理速度等等,为此本篇幅从一下几个维度进行分析,从零到有搭建。利用原生的logback,配置好xml即可实现日志保存,不需要考虑批量刷盘等问题,而封装好通用的SDK是为了方便后续系统使用 。 共享文件夹是为了后续不同微服务部署在不同机器上时,设置的绝对路径文件地址能被后续定时任务解析到文件。解析日志就是文件记录+文件解析的过程,可以建立两张表。一张记录有哪些文件,这些文件是否被解析过,状态如何,另一张表即日志文件表,保存每一次埋点的数据。解析过程会严格安装原创 2024-04-11 15:33:58 · 935 阅读 · 0 评论 -
Java集合自定义字段排序
针对项目中需要对一些集合进行自定义字段排序,该方法包含object类型和map类型的排序,输入需要排序的字段名或键key,以及排序先后的sortOrder规则集合。原创 2023-10-12 17:15:30 · 216 阅读 · 0 评论 -
经纬度坐标工具
CoordinateTransformUtils : 坐标转换工具 BD09 、GCJ02、WGS84。LngLatUtil :用于计算里程数。原创 2023-08-07 09:38:49 · 193 阅读 · 0 评论 -
雪花算法~
【代码】雪花算法~原创 2023-07-14 09:48:55 · 113 阅读 · 0 评论 -
MyBatis-Plus 使用拦截器实现数据权限控制
平时开发中遇到根据当前用户的角色,只能查看数据权限范围的数据需求。列表实现方案有两种,一是在开发初期就做好判断赛选,但如果这个需求是中途加的,或不希望每个接口都加一遍,就可以方案二加拦截器的方式。在mybatis执行sql前修改语句,限定where范围。当然拦截器生效后是全局性的,如何保证只对需要的接口进行拦截和转化,就可以应用注解进行识别因此具体需要哪些步骤就明确了基础只涉及 = 表达式,要查询集合范围 in 看进阶版用例如果你之前项目配插件 ,直接用下面方式就行但如果你项目之前是依赖包依赖原创 2023-02-07 19:43:22 · 6638 阅读 · 8 评论 -
MyBatis-Plus实现字段的自动填充
在日常开发中,特别是一些业务系统项目,共同发现一个规律,那就是对于诸多业务表中都包含有相同的字段,比如id主键、uuid、create_time、creator_code、update_code、update_time等。而这些字段也是对于有些表而言是必要存在的。为了避免业务开发时重复编写赋值代码,就可以利用MyBatis-Plus实现字段的自动填充,当然还有一种思路是自己编写AOP,这里就不进行追述,原创 2023-01-29 17:14:13 · 840 阅读 · 0 评论 -
mybatis-plus自定义插件解决模糊查询特殊字符转义问题
背景:MySQL模糊查询时,如果前端传了特殊字符而后端没有对特殊字符转义的话,特殊字符就会被识别为SQL中的特殊字符,发挥其特殊字符的含义,如占位符’_‘、’%‘等,如需MySQL将这些字符识别为普通字符,则需要在其前面加上转义符,默认是反斜杠,即变为’_‘、’%'即可。但是每个查询的地方都加转义,又麻烦又容易遗漏,所以借鉴类似AOP的思想,加一层拦截来解决,如果你的orm框架使用的mybatis-plus,则可以通过实现一个自定义插件解决,mybatis也有类似插件规范。直接无脑上代码 复制粘贴就行。原创 2022-11-24 12:03:14 · 2686 阅读 · 5 评论 -
TreeNodeUtil
树形集合工具类对已有集合进行树形结构遍历,或集合分类遍历,必须存在一对规则的数据库字段,即表中必须存在父节点code。需要测试的集合entry类直接继承该类即可,mybatis-plus生产的实体记得 删掉注解 @Accessors(chain = true)@Datapublic class BaseTreeNode { /** * 子Id */ @TableField(exist = false) private String code;原创 2022-05-23 20:03:40 · 219 阅读 · 0 评论 -
OKHttpUtils
OKHttp工具类原创 2022-04-22 14:39:24 · 697 阅读 · 0 评论 -
读取网络文件
/*读取网络文件*/ public static InputStream getFileInputStream(String path) { URL url = null; try { url = new URL(path); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); //设置超时间为3秒原创 2022-03-10 19:09:41 · 396 阅读 · 0 评论 -
CronUtil
package com.chinaentropy.intelligent.common.utils.cron;/** * @author Suqi * @version 1.0 * @date 2021/8/16 11:57 * @desc */public class CronUtil { /** * *方法摘要:构建Cron表达式 *@param taskScheduleModel *@return String */ .原创 2022-03-10 09:49:20 · 629 阅读 · 0 评论 -
IP白名单校验工具
package com.chinaentropy.screen.common.utils;import java.util.*;import java.util.regex.Pattern;/** * @author Suqi * @version 1.0 * @date 2022/2/7 14:45 * @desc 配置白名单工具类 */public final class IpWhiteCheckUtil { // IP的正则 private static Patt原创 2022-02-07 17:01:45 · 2176 阅读 · 0 评论 -
redisUtils
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Component;import org.springframework.util.CollectionUtils;import java.util.List;import java..原创 2021-11-22 09:52:59 · 121 阅读 · 0 评论 -
Maven 阿里巴巴镜像
可直接复制使用, 一共就设置了 阿里巴巴镜像,jdk8 和自定义仓库<?xml version="1.0" encoding="UTF-8"?><!--Licensed to the Apache Software Foundation (ASF) under oneor more contributor license agreements. See the NOTICE filedistributed with this work for additional info原创 2021-06-16 09:42:10 · 587 阅读 · 0 评论 -
web socket测试html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> body{原创 2021-11-01 20:48:44 · 542 阅读 · 0 评论 -
剩余时间工具类
import org.apache.commons.lang3.StringUtils;import java.time.Duration;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;import java.time.format.DateTimeFormatter;import java.time.temporal.TemporalAdjusters;import.原创 2021-11-03 10:23:50 · 82 阅读 · 0 评论