自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot Configuration Processor使用

spring-boot-configuration-processor的作用就是将自己的配置你自己创建的配置类生成元数据信息,这样就能在你自己的配置文件中显示出来非常的方便。在META-INF目录下生成spring-configuration-metadata.json文件,从而告诉spring这个jar包中有哪些自定义的配置。

2024-03-11 17:37:06 2210

原创 IDEA使用GIT merge代码到一半,怎么解决冲突?

1、有时候在merge代码到一半,有冲突但是没有解决,导致无法提交怎么办?3、此时分支显示的merging中,这时不能进行commit和push操作。2、比如下面这种情况,有冲突,但是被直接close掉了,怎么解决?4、两种方式解决冲突。

2023-12-25 11:25:30 794

原创 SpringBoot接入企微机器人

企业微信机器人接入

2023-12-15 17:30:22 609

原创 Mybatis自定义注解(BatchUpdAnnotation),批量更新处理拦截器

2、创建一个Mybatis的拦截器:MybatisBatchUpdateInterceptor,拦截update操作,如果存在对应的注解,则超过batchSize则分批处理,分批处理通过BatchUtil.execute( )方法。1、首先创建一个注解:BatchUpdAnnotation,默认一次处理100条,可以自己调整。3、创建批量处理类:BatchUtil,多次循环调用mapper方法进行更新。4、mapper层的使用。

2023-06-21 17:55:07 938

原创 POI导出设置列或单元格为文本(text)格式

分两种情况:HSSF和XSSF,也就是.xls和.xlsx的区别。

2023-06-21 17:45:04 4391

原创 @validate校验中的@NotEmpty、@NotBlank、@NotNull区别

@NotEmpty、@NotBlank、@NotNull

2023-02-16 11:11:48 468

原创 Java统一返回结果自动封装组件【Response-boxing】

统一返回结果自动封装组件

2022-12-05 14:14:27 1147

原创 Java自定义注解参数ElementType.PARAMETER

Java自定义参数注解

2022-10-21 16:40:58 3638

原创 EasyExcel的简单导出

【代码】EasyExcel的简单导出。

2022-10-21 16:33:55 8149 3

原创 excel文件导出到HttpServletResponse响应流

【代码】excel文件导出到HttpServletResponse响应流。

2022-09-15 17:29:18 3387

原创 IDEA正则表达式高级替换

IDEA正则表达式

2022-08-17 14:33:15 1971

原创 SpringBoot项目配置全局处理异常

1、自定义异常/** * 自定义异常 */public class RRException extends RuntimeException { private static final long serialVersionUID = 1L; private String msg; private int code = 500; public RRException(String msg) { super(msg); this.ms

2021-12-06 15:05:33 548

原创 如何将yml配置赋值给类的静态属性

1、yml配置赋值给类的普通属性@Value("${monitor.db.httpUrl}")private String dbHttpUrlValue;2、但如果我们想要将yml配置赋值给类的静态属性,或者在静态方法中使用到yml的配置,我们就不能像如上一样获取了,需要使用如下方法:先使用普通属性对yml配置中的值进行接收然后通过PostContruct方法来讲普通属性值赋值给静态属性值@Component@Datapublic class PropertiesConfig {

2021-08-26 09:47:43 1039

原创 java验证字符串的是否符合正则表达式

有两种写法,但代码其实是一样的1、使用String自带的matches的验证String passwd = "rqbkjhrjqh1111@!45";String regex = "^[A-Za-z]|[0-9]|[!@#$%^&*]{6,18}$";if(!passwd .matches(regex)){ return false; //验证不通过}解析:这种方式其实我们看源代码使用的是如下方式2、使用Pattern和Matcher来进行验证String passwd

2021-07-16 17:13:02 11930 3

原创 将文件大小转换为字符串,比如1KB,2MB,3GB

1、方法//将文件大小转换为字符串 1024 转换成1kB,1024*1024 转换为MB(保留2为小数)public static String convertFileSizeToStr(Long fileSize) { if (fileSize <= 0) { return "0B"; } else if (fileSize < 1024) { return fileSize + "B"; } else if (fileSize < 102

2021-07-07 15:23:58 630

原创 MySQL的DATE_FORMAT()函数

1、解释此函数是MySQL中用来以不同格式显示日期和时间的数据2、语法DATE_FORMAT(date,format)//参数解释://date:需要进行格式化的字段//format:日期格式化的格式3、格式格式解释%a缩写星期名%b缩写月名%c月,数值%D带有英文前缀的月中的天%d月的天,数值(00-31)%e月的天,数值(0-31)%f微秒%H小时 (00-23)%h小时 (01-12)%I小

2021-06-28 09:56:25 26298

原创 There are test failures

1、报错信息Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.21.0:test (default-test) on project airport: There are test failures.Please refer to E:\work\gitworkspace\xxxxxx\target\surefire-reports for the individual test results.Pleas

2021-04-30 11:25:02 5702

原创 SpringBoot整合Mybatis(idea版,手把手教你重头开始搭建)

架构:SpringBoot + mybatis +mysql(数据库)一、创建项目1、打开idea,创建项目File----New—Project,选择jdk8版本(可根据自己的需要选择),点击next2、配置项目名、包名、jdk版本,点击next3、分别在web模块和sql模块中选择Spring Web(也可以不选择,如果不使用web的话,笔者习惯性选择上了)、MyBatis Framework(整合mybatis框架需要选择)、JDBC、MySQL Driver 即可,如果不选择,后续也可以

2021-04-26 11:16:37 573 1

原创 mysql中on duplicate key update用法(批量操作数据、存在更新,不存在则新增),附mybatis配置

1、应用场景日常开发中,对于一个数据想做到存在即更新,不存在则新增,通常的做法是先查询数据库中是否存在对应的数据,如果存在就使用更新的方法,不存在就使用新增的方法如果是单个数据,倒也没什么问题,但如果是批量数据的话,会消耗大量的资源来进行查询操作,这样就得不偿失了。这种情况我们可以使用mysql提供的 on duplicate key update 来进行操作。2、表结构和示例数据3、使用ON DUPLICATE KEY UPDATE更新单条数据,如下表示需要更新name、gender、bir

2021-04-25 16:56:47 7690

原创 Docker配置阿里云镜像加速

前提:linux服务器已经正常安装好了docker1、登录阿里云找到容器服务,进入控制台2、找到镜像加速地址3、配置使用,复制到linux中执行即可sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://chwe3wlf.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsu

2021-04-19 17:39:58 101

原创 线程不安全SimpleDateFormat的替换方案DateFormatUtils、DateUtils

日期格式化1、原有SimpleDateFormra不推荐使用,会有线程安全问题2、替换方案为DateFormatUtils、DateUtils(用lang3中的)1)、DateFormatUtils(将日期转换成字符)public static java.lang.String format (java.util.Date date, java.lang.String pattern)2)、DateUtils(将字符串转换成日期)public static java.util.Date par

2021-04-19 17:35:14 1826

原创 SpringBoot配置多数据源

项目框架:SpringBoot + MyBatis + Mysql项目连接两个数据库源。1、application.yml配置使用DruidDataSource主数据库为primary,副数据库为secondary,名称可以自己定义,只要和后续的配置文件config相对应即可spring: datasource: type: com.alibaba.druid.pool.DruidDataSource #druid相关配置 druid:

2021-04-19 17:24:28 168

原创 SpringBoot多数据源导致mybatis驼峰映射配置失效

SpringBoot多数据源导致mybatis中配置失效问题1、正常情况下,直接配置即可生效比如:开启驼峰映射开启示例(properties文件中配置):mybatis.configuration.map-underscore-to-camel-case=true 2、多数据源情况步骤:1)在多数据源的配置文件中加入如下代码@Bean@ConfigurationProperties(prefix = "mybatis.configuration")public org.apache.i

2021-04-13 11:17:14 1315

原创 Docker镜像push到docker hub报错(requested access to the resource is denied)

1、Docker镜像push到docker hub报错,报错信息具体如下:denied: requested access to the resource is denied2、原因有多种情况docker push 之前未登录docker hub的账号构建镜像名不正确push命令不正确3、如下所示为解决方案先登录docker hub的账号密码,如下为登录样例[root@iZuf65qcx8upilcid9qfh1Z WEB-INF]# docker login -u yuluozen

2021-03-04 23:17:42 1041 1

原创 Docker配置DNS

配置DNS1、先在宿主机的 /etc/docker/daemon.json文件中增加如下内容来设置全部容器的DNS:{ "dns" : [ "114.114.114.114", "8.8.8.8" ]}2、注意,如果已经存在了配置,加上dns后如下图所示,不要重新加大括号进行配置[root@iZuf65qcx8upilcid9qfh1Z etc]# cat /etc/docker/daemon.json { "registry-mirrors": ["https:/

2021-03-01 18:20:09 838

原创 MyBatis中保存数据如何获取数据库的自增id

MyBatis中保存数据如何获取数据库的自增id1、需要指定如下useGeneratedKeys=“true” keyColumn=“id” keyProperty=“id”<insert id="insertConflictAlarm" useGeneratedKeys="true" keyColumn="id" keyProperty="id" parameterType="com.youzidata.airport.entity.ConflictAlarm"> INSERT

2021-02-26 14:13:55 1119

原创 安装mysql Install Remove of the Service Denied 错误的解决办法

安装mysql Install Remove of the Service Denied 错误的解决办法1、现象2、解决方法打开cmd.exe程序的时候选择“用管理员身份打开”。

2021-02-23 23:37:56 150

原创 Java导入excel文件(xlsx)

java导入excel文件(xlsx)项目背景:1、SpringBoot项目2、前端上传excel文件,后端读取文件内容中的数据并保存到数据库中废话不多说,直接上代码1、controller代码@ResponseBody@PostMapping("/importCheckSpeaker")public Object importCheckSpeaker(@RequestParam("file") MultipartFile file, HttpServletRequest request,

2021-02-23 23:33:49 1564 3

转载 Java ConcurrentModificationException异常原因和解决方法

转载:http://www.cnblogs.com/dolphin0520/p/3933551.html在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。  以下是本文目录大纲:  一.ConcurrentModificationException异常出现的原因  二.在单线程环境下的解决办法  三.在多

2021-02-04 14:40:06 211 1

原创 多线程下httpClient报错 Connection pool shut down

报错信息1、报错信息:Connection pool shut downjava.lang.IllegalStateException: Connection pool shut down at org.apache.http.util.Asserts.check(Asserts.java:34) at org.apache.http.pool.AbstractConnPool.lease(AbstractConnPool.java:191) at org

2021-01-26 11:35:30 7001 1

原创 CertPathValidatorException: Path does not chain with any of the trust anchors

报错信息java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors具体报错信息如下:The last packet successfully received from the server was 169 milliseconds ago. The last packet sent s

2021-01-22 18:15:37 1186

原创 maven打包错误:maven-surefire-plugin:2.21.0:test

报错信息maven打包遇到错误Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.21.0:test (default-test) on project airport: There are test failures.原因1、原因一般为test类存在问题解决方法1、IDEA解决方法2、添加pom配置文件3、打包是执行命令4、1、IDEA解决方式点击如下图标,打包时将忽略测试类,即解决2、添

2021-01-22 18:03:55 4892 1

原创 String.Join() 方法的用法

String.Join() 方法的用法1、java apipublic static String join(CharSequence delimiter, CharSequence... elements)返回一个新的字符串,由CharSequence elements的副本组成,并附有指定的delimiter的delimiter 。For example, String message = String.join("-", "Jav

2020-12-30 11:03:05 3482

原创 Object的wait()和Condition的await()比较

Object的wait()和Condition的await()1、Object的wait()Object类:1)源码: public final void wait() throws InterruptedException { wait(0); }2)解释:Object的wait方法,是当前线程调用synchronized后获取到了对象的锁之后才可以使用调用wait()让当前线程进入一个waitSet(可以理解为有一个休息室),这样其他等待同一个对象锁的线程

2020-12-25 01:03:35 2240 1

原创 关于controller、service、dao层代码分配问题

关于controller、service、dao层代码分配问题1、Controllercontroller一般做数据的验证、控制、响应数据校验:1)有没有传数据2)有没有缺少入参3)入参格式是否正确4)将前台的入参调整成service需要的响应1)service返回一个接收泛型对象的返参、或者Object类型的返参包括操作结果、错误提示、返参对象比如:DataResponse类,存放code、message、data(数据)2)controller接收这个DataResponse,再

2020-12-23 15:33:34 669

原创 将秒转换为HHmmss

将秒转换为HHmmss/** * 将秒转换为HH:mm:ss * * @param seconds 秒数 * @return HH:mm:ss */public static String convertSecondToStr(Integer seconds) { if (seconds == null || seconds == 0) { return "00:00:00"; } int hour = seconds / 360

2020-12-23 15:24:09 615

原创 Object类型转为Integer类型

Object类型转为Integer类型两种方式两种方式1、使用(Integer)方式,可以兼容为null的情况,不会报错(推荐)Integer abc = (Integer) obj;2、使用parseInt方式,这样的话obj不能为null,否则会报错这样是将object类型使用toString转为字符串String类型,然后将String类型使用parseInt转为int类型,再通过自动包装将int类型转为Integer类型Integer.parseInt(obj.toString());

2020-12-10 16:09:01 14411

空空如也

空空如也

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

TA关注的人

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