- 博客(143)
- 资源 (1)
- 收藏
- 关注
原创 数据库建表规范【记录】
【强制】自增主键命名必须是id,关联表外键命名xxyyzz_id;业务主键命名必须是key char(36)。【强制】必须有行数据的创建时间字段create_date和最后更新时间字段edit_date。【强制】创建表时必须显式指定表存储引擎类型,如无特殊需求,一律为InnoDB。【推荐】状态字典类型字段类型char(3),尽可能有业务含义,全局统一。【推荐】反范式设计:把经常需要join查询的字段,在其他表里冗余一份。
2024-09-30 13:52:08
403
原创 解决Element UI 表格组件懒加载数据刷新问题
element ui的table组件设置成懒加载时,遇到数据表格需要更新、删除等操作,子节点不会自动更新。
2024-07-21 21:41:29
1465
原创 使用Iterator对List集合进行增加或者删除操作时报异常的分析
一、问题使用Iterator在对List集合进行遍历集合时,如果只是遍历而不进行增加、删除操作时,可以正常运行吗,但是如果我们在使用迭代器对List集合进行插入或者删除时,就会出现Exception in thread "main" java.util.ConcurrentModificationException这个异常。(调用了next方法)代码:package com.example.demo.domain;import java.util.ArrayList;import jav
2022-05-29 03:30:29
1069
转载 mybatis实现自定义分页插件
一、环境搭建创建一个maven工程,然后引入mybatis依赖和mysql依赖即可。<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.0.4</version></dependency><dependency> <groupId>mys
2022-05-27 20:52:23
1988
原创 mybatis-plus分页查询
推荐:MyBatis Plus汇总mybatis-plus分页查询首先创建一个数据库表,如下图所示:然后创建一个Spring Boot项目,pom.xml和配置如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance".
2022-05-27 20:44:37
1120
原创 基于Redis实现分布式定时任务调度
项目开发过程中,难免会有许多定时任务的需求进来。如果项目中还没有引入quarzt框架的情况下,我们通常会使用Spring的@Schedule(cron="* * * * *")注解样例如下:package com.slowcity.redis;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.scheduling.annotation.Scheduled;public cl
2022-05-26 23:10:39
2838
原创 Java8流式编程GroupBy和求最值示例
流的创建(演示常用的)数组创建Arrays.streamArrays的静态方法stream() 可以获取数组流 String[] arr = { "a", "b", "c", "d", "e", "f", "g" }; Stream<String> stream = Stream.of(arr); Stream<String> stream1 = Arrays.stream(arr);集合创建Collection接口提供了两个默认方法创建流:str
2022-05-26 10:26:24
931
原创 JDK8给Tomcat配置https
第一步:生成秘钥库采用JDK自带的keytool工具生成秘钥别名 xieh1234 存储路径 D:\cas\keystore\keytool -genkey -v -alias xieh1234 -keyalg RSA -keystore D:\cas\keystore\xieh1234.keystore-alias 表示证书的别名,一个keystore文件中可以存放多个alias。-keyalg RSA 表示密钥算法的名称为RSA算法-keystore是生成的或者已有的keyst..
2022-01-06 10:55:50
598
转载 springboot使用工具类获取IOC容器中的bean对象
package com.dzqc.yx.util;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component;@Componentpub.
2021-12-23 20:23:04
867
原创 left join注意事项
一、【问题描述】客户表(CLT.CSM_BASEINFO)左连接证件信息表(CLT.CSM_CERTINFO),通过客户名称查询客户信息。1)证件信息表的字段筛选条件,放到on后面,查询结果正常SELECT clt.CLT_COD, ctf.CTF_NBR FROM CLT.CSM_BASEINFO clt LEFT JOIN CLT.CSM_CERTINFO ctf ON clt.CLT_UID = ctf.CLT_UID...
2021-12-23 20:21:07
2069
原创 SpringBoot中使用Redis的发布/订阅模式
redis的发布订阅模式,使发布者和订阅者完全解耦1.pom.xml and application.properties<!-- 引入redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</ar..
2021-12-16 16:25:22
3047
原创 ElasticsearchTemplate替换为ElasticsearchRestTemplate(Transport Client替换为RestHighLevelClient)
在Elasticsearch8.0的版本中也将完全移除TransportClient,其次有些es有些账号不能通过 9300端口连接所以项目中打算由RestHighLevelClient 替换掉 Transport Client版本这里给一张springboot官方的版本推荐这里我的springboot版本为 2.1.6.RELEASE Elasticsearch 版本为 6.8.2升级需要的maven依赖:<dependency> <g...
2021-12-16 11:50:56
3320
原创 ElasticSearch6.X版本自动添加时间戳
需求:根据时间提取es数据解决:为es的记录添加时间戳1、方法配置时间戳 pipelinePUT _ingest/pipeline/my_timestamp_pipeline{ "description": "Adds a field to a document with the time of ingestion", "processors": [ { "set": { "field": "@timestamp", "value
2021-12-15 15:51:53
3403
原创 SpringBoot整合Quartz 实现分布式定时任务调度
一、Quartz集群架构Quartz 是 Java 领域最著名的开源任务调度工具。在上篇文章中,我们详细的介绍了 Quartz 的单体应用实践,如果只在单体环境中应用,Quartz 未必是最好的选择,例如Spring Scheduled一样也可以实现任务调度,并且与SpringBoot无缝集成,支持注解配置,非常简单,但是它有个缺点就是在集群环境下,会导致任务被重复调度!而与之对应的 Quartz 提供了极为广用的特性,如任务持久化、集群部署和分布式调度任务等等,正因如此,基于 Quartz .
2021-12-14 09:19:53
1862
1
原创 ElasticSearch使用kibana控制台查询示例(时间范围查询)
记录一下日期查询问题"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"# 创建索引PUT my_date1{ "mappings": { "properties": { "publicDate": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis", // 不管
2021-12-09 10:50:16
10922
原创 js的clientXY、pageXY、screenXY、offsetXY属性对比
一、clientX、clientY点击位置距离当前body可视区域的x,y坐标二、pageX、pageY对于整个页面来说,包括了被卷去的body部分的长度三、screenX、screenY点击位置距离当前电脑屏幕的x,y坐标四、offsetX、offsetY相对于带有定位的父盒子的x,y坐标五、x、y和screenX、screenY一样...
2021-11-14 20:48:23
211
原创 基于javax的websocket服务端实现心跳机制
websocket连接类package com.dnn.controller.inter;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Set;import java.util.concurrent.CopyOnWriteArraySet;import javax.websocke
2021-11-14 20:44:30
2334
1
原创 记录SpringBoot和SpringCloud版本对应关系
官方参考:https://spring.io/projects/spring-cloudSpringCloud版本 SpringBoot版本 Hoxton 2.2.x 2.2.x Greenwich 2.1.x 2.1.x Finchley 2.0.x 2.0.x Edgware 1.5.x 1.5.x Dalston 1.5.x 1.5.x
2021-05-29 16:45:25
171
原创 使用jwt记录
pom依赖 <!-- jwt依赖--> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version> </dependency&
2021-05-22 17:30:38
8160
原创 @ControllerAdvice和ErrorPageRegistrar接口配置错误页面的问题
@ControllerAdvice配置讲解:package cn.org.spring.wechar.exception;import cn.org.spring.wechar.bean.Result;import lombok.extern.slf4j.Slf4j;import org.springframework.http.HttpStatus;import org.springframework.web.bind.annotation.ControllerAdvice;import
2021-05-20 21:42:46
754
原创 Redis缓存击穿,穿透,雪崩问题和解决方案
缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案有很多种方法可以有效地解决缓存穿透问题,最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被这个bitmap拦截掉,从而避免了对底层存储系统的查询压力。
2021-04-26 10:36:29
97
原创 Java日期工具类:获取指定月份周明细和获取两个月份间隔月份明细
获取指定月份周明细package com.ruoyi.ad.util;import java.text.SimpleDateFormat;import java.time.*;import java.time.temporal.ChronoUnit;import java.time.temporal.TemporalAdjusters;import java.time.temporal.WeekFields;import java.util.Date;import java.util
2021-04-16 13:07:40
532
原创 Springboot 验证码生成图片格式和base64编码格式
生成验证码:提供一个接口,这个接口里,我们将生成的验证码存入session,然后将验证码以图片格式或者base64编码串返回给调用端。校验验证码:提供一个接口,这个接口里,我们收到调用端传过来的校验码,然后从session取出验证码,两个验证码都全部转小写,进行无大小写区分匹配校验,返回true/flase 。存储验证码:生成的验证码,在未生成图片的时候,就将4位验证码字符先存入session,以‘JCCODE’作为存取session的key。创建工具类:import javax..
2021-03-31 10:27:51
898
原创 Java实现获取指定长度随机字符串
思路:使用assic码表,三个范围:数字(48-57),大写字母(65-90),小写字母(97-122)代码:import java.util.Random; /** * 随机字符串工具 * * @author volitation * */public class RandomString { /** * 获取指定长度随机字符串 * * @param length * @return */ public static String getRan
2021-03-29 13:55:23
674
原创 控制PSQL的时间戳timestamp精度
控制PSQL的时间戳timestamp精度问题:select now()结果:需求:只保留到秒的级别:select now()::timestamp (0) // 返回时间类型或select ('now'::text)::timestamp(0) without time zone //返回文本类型结果:...
2021-03-19 18:30:59
872
原创 Java实现对象深度克隆
两种方式: 1). 实现Cloneable接口并重写Object类中的clone()方法; 2). 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆,代码如下import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;impo
2021-03-07 15:45:23
905
原创 maven项目右键没有maven菜单选项和Spring Tool Suite 导入SpringBoot项目步骤以及没有【boot】标识的处理
maven项目右键没有maven菜单选项从SVN导入后,右击项目没有“Maven”菜单项:只需一步,右击项目==》“Configure”==》“Convert to Maven Project”:然后再次查看右键菜单,会发现“Maven”菜单项已经出现了:出现该问题的原因是,从Git导入项目以后,Eclipse并不知道这是一个Maven项目,所以右击不会有“Maven”选项。需要我们手动转换一下,这样Eclipse才能识别。Spring Tool Su...
2021-03-05 12:03:03
1087
原创 Java用*号画菱形(面试题)
题目如下:代码:package com.xieh;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * * @author 谢辉 * 思路如下: * 1、一个菱形的行数肯定都是奇数行。例如1,3,5,7,9 * 2、从第一行开始1个*号,后面每行依次在上一行的基础上每次递增2 * 3、得到最大行数和最大行数需要的*的数量,可以绘画菱形了 */public
2021-03-04 10:14:01
627
6
原创 JS获取当月windows显示的日历(简易版本)
JS代码:/** * 要求格式yyyy-MM * @param {Object} currentMonth 当前月份 */function getCalendar(currentMonth) { if(currentMonth.indexOf("-") < 0) { return; } var calendar = []; var myDate = currentMonth.split("-")[1] * 1; computeDate(currentMonth).forEa
2021-01-29 22:26:13
664
原创 干支纪年
干支纪年表代码实现:package com.xieh;public class Demo { public static void main(String[] args) { // System.out.println(gzYear(1911)); for (int i = 1800; i < 2035; i++) { System.out.println("年份:" + i); System....
2021-01-22 15:28:48
208
1
原创 JS实现纯前端将数据导出Excel两种方式亲测有效
由于项目需要,需要在不调用后台接口的情况下,将json数据导出到excel表格,参考了好多资料以及很多大佬写的博客终于实现,兼容chrome没问题,其他还没有测试过,这边介绍两种实现方式,并附上代码和gif动图,博主不才还望轻喷,代码可直接copy运行方法一将table标签,包括tr、td等对json数据进行拼接,将table输出到表格上实现,这种方法的弊端在于输出的是伪excel,虽说生成xls为后缀的文件,但文件形式上还是html,代码如下:<html><meta ch
2021-01-19 16:36:08
1705
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人