![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工具类
人生就像一场戏!
这个作者很懒,什么都没留下…
展开
-
DateUtil工具类
import org.apache.commons.lang3.time.DateFormatUtils;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.time.Instant;import java.time.LocalDate;import java.time.LocalDateTime;import java.time..原创 2022-01-20 15:30:49 · 522 阅读 · 0 评论 -
正则表达式校验工具类
正则表达式在线生成工具正则表达式在线生成工具 - 正则表达式工具 - 脚本之家在线工具import java.util.regex.Pattern;/** * 账户相关属性验证工具 * */public class RegularUtils{ /** * 正则表达式:验证用户名 */ public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,20}$"; /**原创 2022-01-11 11:03:42 · 551 阅读 · 0 评论 -
获取服务器ip地址
1、tomcat是一款免费的开源Web服务器,如果部署在本地,那么对应的那么为localhost,对应地址为127.0.0.1。 例子:可以通过http://localhost:8080/项目root值访问,也可以通过http://127.0.0.1/项目root值访问。 如果部署在服务器(linux)系统类,则需要通过服务器的Ip地址进行访问。2、下面说说怎么获取Ip地址:获取本地的Ip地址:public static void main(String[] ...原创 2022-01-04 11:27:14 · 3363 阅读 · 0 评论 -
Java分布式自增ID算法---雪花算法
一般情况,实现全局唯一ID,有三种方案,分别是通过中间件方式、UUID、雪花算法。 方案一,通过中间件方式,可以是把数据库或者redis缓存作为媒介,从中间件获取ID。这种呢,优点是可以体现全局的递增趋势(优点只能想到这个),缺点呢,倒是一大堆,比如,依赖中间件,假如中间件挂了,就不能提供服务了;依赖中间件的写入和事务,会影响效率;数据量大了的话,你还得考虑部署集群,考虑走代理。这样的话,感觉问题复杂化了 方案二,通过UUID的方式,java.util.UUID就提供了获取UUID的方法,使用原创 2021-10-14 15:17:55 · 5601 阅读 · 1 评论 -
分子分母计算工具类
java计算百分比值的方法,涉及java数值运算的技巧分子作被除数,分母作除数(分母不为0),运算结果和整数一起对应全部有理数BigDecimalUtil工具类import java.math.BigDecimal;public class BigDecimalUtil { private BigDecimalUtil() { } private static final int ZERO = 0; /** * @param valu原创 2021-10-14 10:19:54 · 543 阅读 · 0 评论 -
AOP自定义注解参数校验
使用SpringMVC作为Controller层进行Web开发时,经常会需要对Controller中的方法进行参数检查。本来SpringMVC自带@Valid和@Validated两个注解可用来检查参数,但只能检查参数是bean的情况,对于参数是String或者Long类型的就不适用了,对此,可以利用Spring的AOP和自定义注解,自己写一个参数校验的功能。自定义注解:ValidParam.java:import java.lang.annotation.*;/** * 标注在参数be原创 2021-09-06 13:52:41 · 993 阅读 · 0 评论 -
ThreadLocal获取用户信息
用户import lombok.Data;import java.io.Serializable;@Datapublic class User implements Serializable { private String userName; private String password; private String mobile; private String email; private Integer roleId;..原创 2021-09-02 10:31:56 · 472 阅读 · 0 评论 -
JavaBean转换工具类
工作经常需要转换:JavaBean、Map互相转换,List JavaBean 、List Map互相转换工具类package com.alexli.codetemplate.util;import com.alexli.entity.Message;import org.springframework.cglib.beans.BeanMap;import java.lang.reflect.InvocationTargetException;import java.util.*;..原创 2021-08-19 17:49:02 · 274 阅读 · 0 评论 -
AOP操作日志记录
大家好,今天给大家带来一篇基于AOP实现的操作日志记录的解决的方案。大家可能会说,切,操作日志记录这么简单的东西,老生常谈了。不!网上的操作日志一般就是记录操作人,操作的描述,ip等。好一点的增加了修改的数据和执行时间。那么!我这篇有什么不同呢!今天这种不仅可以记录上方所说的一切,还增加多表记录了操作前的数据思路介绍: 由于操作日志用注解方式的AOP记录操作日志比较便捷,所以想到了在注解中定义操作前查询数据详情的bean,查询方法及参数,参数类型,在aop进行方法执行前,对指定的be...原创 2021-08-10 21:53:05 · 2048 阅读 · 0 评论 -
Mybatis拦截器实现操作日志记录
•核心作用:–保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。原创 2021-08-02 17:58:56 · 5006 阅读 · 10 评论 -
JAVA接口签名sign生成工具类
签名规则 1、线下分配appid和appsecret,针对不同的调用方分配不同的appid和appsecret 2、加入timestamp(时间戳),10分钟内数据有效 3、加入流水号nonce(防止重复提交),至少为10位。 4、加入signature,所有数据的签名信息。1.pom <!--DigestUtils依赖--> <dependency> <groupId>c...原创 2021-06-30 11:49:25 · 3200 阅读 · 1 评论 -
结合base64实现md5加密AES加密
import org.apache.commons.codec.binary.Base64;import org.apache.commons.lang3.StringUtils;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.spec.SecretKeySpec.原创 2021-06-29 14:28:33 · 364 阅读 · 0 评论 -
Base64加密和解密
import java.io.*;/** * @author liuminglin * @date 2021/6/11 17:59 * @description: TODO */public class Base64 { private Base64() { } /** * 功能:加密字符串 * * @param data 源字符串 * @return String */ public static St..原创 2021-06-11 18:14:58 · 417 阅读 · 0 评论 -
结合base64实现md5加密工具类
import org.apache.commons.codec.binary.Base64;import org.apache.commons.lang3.StringUtils;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.spec.SecretKeySpe..原创 2021-06-03 14:27:19 · 232 阅读 · 0 评论 -
ResourceBundle.getBundle()来读取自定义的properties配置文件
public class CreateHbaseTableDemo { public static void main(String[] args) { ResourceBundle resourceBundle= ResourceBundle.getBundle("hbase.properties"); String port = resourceBundle.getString("zookeeperPort"); String thread...原创 2020-06-03 21:00:29 · 1709 阅读 · 1 评论 -
反射获取和设置属性值
单个获取 /** * 根据属性名获取属性值 * * @param fieldName * @param object * @return */ private String getFieldValueByFieldName(String fieldName, Object object) { try { Field field = object.getClass().getDeclared.原创 2020-05-17 12:56:56 · 426 阅读 · 1 评论 -
SqlSessionTemplate批量增删改查
public class BaseDao { @Autowired private SqlSessionTemplate sqlSessionTemplate; private final Logger logger = LoggerFactory.getLogger(this.getClass()); void batchInsert(St...原创 2020-03-31 12:27:43 · 2585 阅读 · 1 评论 -
List集合分批多线程处理
mybatis批量插入或者删除限制1000条记录,分批处理private void close (List<PdfDataTest> closeList){ //限制次数 int limitNum=1000; if (closeList.size()<limitNum){ //执行代码逻辑 ...原创 2020-03-31 11:48:40 · 5055 阅读 · 1 评论 -
springmvc文件上传下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下Spring中的文件上传和下载功能的实现,文件上传必须将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器。 一旦设置了enctype为multipart/form-data,浏览器即会采用二进制流的方式来处理...原创 2018-11-09 21:56:27 · 395 阅读 · 0 评论 -
EXcel导入导出
一、概述在工作过程中,都会遇到这样一个需求,就是将相关的Excel中的数据导入数据库,这里写成通用的导入Excel的工具。二、项目实现1、构建pom.xml我的工程是利用Maven来构建的,这里仅给出最核心的包<dependency> <groupId>commons-lang</groupId> <artifactI...原创 2018-10-28 11:38:25 · 1539 阅读 · 1 评论 -
反射导出Excel
一、概述在工作过程中,都会遇到这样一个需求,就是将相关的数据列表导出成excel,这里写成通用的导出Excel的工具。二、项目实现1、构建pom.xml我的工程是利用Maven来构建的,这里仅给出最核心的包<dependency> <groupId>org.apache.poi</groupId> <artifactI...原创 2018-10-23 20:17:42 · 386 阅读 · 1 评论 -
Mybatis分页插件PageHelper
在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页。前端分页一次性请求数据表格中的所有记录(ajax),然后在前端缓存并且计算count和分页逻辑,一般前端组件(例如dataTable)会提供分页动作。特点是:简单,很适合小规模的web平台;当数据量大的时候会产生性能问题,在查询和网络传输的时间会很长。后端分页...原创 2018-11-10 16:04:50 · 328 阅读 · 0 评论 -
FreeMarkerUtils
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.StringWriter;import java.io.Writer;import java.util.ArrayList;im...原创 2018-11-29 22:31:54 · 1242 阅读 · 0 评论 -
jxl动态导出Excel
一、概述在工作过程中,都会遇到这样一个需求,动态选择想要导出的字段,这里写成通用的导出Excel的工具。二、项目实现1、构建pom.xml我的工程是利用Maven来构建的,这里仅给出最核心的包<!--jxi导出--><dependency> <groupId>net.sourceforge.jexcelapi</gro...原创 2018-10-31 20:49:45 · 1610 阅读 · 1 评论 -
Poi导出Excel工具类
一、概述在工作过程中,都会遇到这样一个需求,就是将相关的数据列表导出成excel,这里写成通用的导出Excel的工具。二、项目实现1、构建pom.xml我的工程是利用Maven来构建的,这里仅给出最核心的包<dependency> <groupId>org.apache.poi</groupId> <artifactI...原创 2018-10-24 21:43:23 · 583 阅读 · 1 评论 -
自定义异常
在代码中使用自定义的异常类,可以对异常进行统一的封装处理。使得整个项目的异常处理更规范、更统一、更优雅。同时,使得日志的记录上更加清晰,便于后续查日志定位问题。 以下为自定义异常类的完整过程:1、需要自定义一个类,继承自系统的异常类。具体需要什么样类型的异常类,就继承自相应的系统类。 如果希望写一个检查性异常类,则需要继承 Exception 类。 如果你想...原创 2018-12-16 14:52:00 · 165 阅读 · 0 评论 -
自定义排序
前段时间做动态导出Excel(导出字段可选),要对导出的字段进行排序,由于要先去pgsql进行查询,然后映射成表名和条件再去mongodb再查询,这样会出现一个问题:在pgql查询的时候是有序的,但是在去mongodb查询的时候完毕,结果就没有顺序了,但是,最终导出要按字段排序,怎么办呢?后来自己写了工具类进行实现。注意事项:要用LinkedHashMapimport org.apach...原创 2018-12-16 15:11:32 · 1927 阅读 · 1 评论 -
freemarker模板生成pdf
一,依赖jar包<!-- freemarker 读取html模板文件 --><dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</v...原创 2019-08-10 16:52:51 · 10710 阅读 · 1 评论 -
HttpClient工具类
使用HttpClient发送请求、接收响应。 http协议可以说是现在Internet上面最重要,使用最多的协议之一了,越来越多的java应用需要使用http协议来访问网络资源,HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。Htt...原创 2018-11-09 22:39:57 · 228 阅读 · 0 评论