常用Java工具类
阿咚do懂
这个作者很懒,什么都没留下…
展开
-
常用JAVA工具类:基于mybtais的用户DML操作日子记录入库,兼容多数据源
实现过程:第一步:自定义拦截器第二步:sql处理的工具类,请求头中获取当前用户信息,以供在自定义拦截器中使用第三步:设定开关,在yml配置文件中设定开关值,不设定,默认为不开启。第三步: 使用,在数据源配置中,注册自定义的拦截器插件。自定义拦截器,实现 Interceptor 接口以及相关注解,增加一个JdbcTemplate 属性,可传参的构造方法,参数为JdbcTemplate ,为的是在多数据源的情况下,可以明确指定操作数据源。获取相关的数据库信息。...原创 2022-01-06 15:01:36 · 965 阅读 · 0 评论 -
Java1.8 stream的 orElse 和 orElseGet
orElse(null)表示如果一个都没找到返回null。【orElse()中可以塞默认值。如果找不到就会返回orElse中你自己设置的默认值。】orElseGet(null)表示如果一个都没找到返回null。【orElseGet()中可以塞默认值。如果找不到就会返回orElseGet中你自己设置的默认值。】区别就是在使用方法时,即时时没有值 也会执行 orElse 内的方法, 而 orElseGet则不会。@Test public void test1(){ List<In原创 2022-01-05 18:22:08 · 18691 阅读 · 5 评论 -
常用Java工具类:计算两个LocalDate,LocalDateTime时间段相差多少天
// LocalDate 计算//后边的日期LocalDate localDate1 =LocalDate.of(2021,7,7);//前边的日期LocalDate localDate2 = LocalDate.of(2021,7,1);//后减前 为正数long days = localDate1.toEpochDay() - localDate2.toEpochDay();//得出相差天数System.out.println("相差天数"+days);输出结果:相差天数6//前减后.原创 2021-07-07 16:49:57 · 3494 阅读 · 0 评论 -
常用Java工具类:LocalDate,LocalDateTime ,ZonedDateTime之间转换,带上时区
LocalDate==》LocalDateTime==》ZonedDateTime,阿咚直接上代码 LocalDateTime l2 =LocalDateTime.of(LocalDate.parse("2021-07-27"), LocalTime.of(0, 0,0)); //时区亚州上海 东八区 ZonedDateTime r=ZonedDateTime.of(l2, ZoneId.of("Asia/Shanghai"))原创 2021-07-30 10:06:24 · 1443 阅读 · 0 评论 -
常用Java工具类:JSONObject与实体类,JSONArray与集合之间的转换
基于com.alibaba.fastjso实体类转换为JSONObject JSONObject jsonObject =JSON.parseObject(JSON.toJSONString(T)); 集合转为JSONArray JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(List<T>));JSONObject转为实体类JSONObject jsonObject=JSON.toJava...原创 2021-07-15 11:51:20 · 431 阅读 · 0 评论 -
常用Java工具类:spring boot 将空字符串转换为null,防止mybatis-plus根据实体类查询时候带上空字符串查询
问题原因:wrapper.setEntity(t)装载实体类,在进行sql拼装的时候非null,都会拼到where后边, 作为字段过滤,这其中也包括空串,那这就不符合我们的预期结果。所以需要将空串转为null。阿咚举出三种方式:第一种:继承 org.springframework.beans.BeanUtils 这类,重写 copyProperties,copyProperties方法.这是springframework下的一个BeanUtils工具。传入参数,一个是数据源,一个是原创 2021-11-12 12:14:22 · 3422 阅读 · 0 评论 -
常用Java工具类:手机号脱敏,身份证号脱敏
目录:1 手机号脱敏2 身份证号脱敏3 姓名脱敏1 手机号脱敏本案要求:手机号的保留前三后四,中间的为星号 "*" // 手机号码前三后四脱敏 public static String mobileEncrypt(String mobile) { if (StringUtils.isEmpty(mobile) || (mobile.length() != 11)) { return mobile; } ...原创 2021-11-05 13:37:22 · 5065 阅读 · 0 评论 -
常用Java工具类:java抽奖码生成
本案要求生成10W条由大写字母加数字组成的抽奖码。由要求得字符集为:ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789为保证数据不重复,且不可破解的要求。阿咚使用5位的随机字符,加5位由10进制的序列号转为36进制的字符组成。该10进制每使用一次加一,以保证数据的唯一性。如果该抽奖码是多次生成,可以将每次生成后最大的序列号保存在数据库,以便迭代使用。具体代码如下:import java.util.Random;import java.util.concurrent.原创 2021-10-25 11:34:45 · 746 阅读 · 0 评论