- 博客(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
原创 Mybatis自定义注解(BatchUpdAnnotation),批量更新处理拦截器
2、创建一个Mybatis的拦截器:MybatisBatchUpdateInterceptor,拦截update操作,如果存在对应的注解,则超过batchSize则分批处理,分批处理通过BatchUtil.execute( )方法。1、首先创建一个注解:BatchUpdAnnotation,默认一次处理100条,可以自己调整。3、创建批量处理类:BatchUtil,多次循环调用mapper方法进行更新。4、mapper层的使用。
2023-06-21 17:55:07 938
原创 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关注的人