自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 问答 (2)
  • 收藏
  • 关注

原创 postgre sql 数据库在mybatis中执行ON CONFLICT 语法无法识别

在postgre sql中,插入主键冲突时可以使用 on conflict 去进行后续的操作,在mybatis/mybatisplus中,无法识别conflict语法,mybatis-plus的jslparser版本是4.4版本,它当前还不支持conflict语法。解决方案:升级jsqlparser为4.5以上。

2023-05-29 16:24:27 827

原创 Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -60

记录一个问题:mybatis在批量保存的时候出现,Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -60刚开始以为是sql拼接的长度太长了。最后是应为没有做list的空判断,吧空的list传入到了mybatis中,加一层判空就可以了。......

2022-06-25 16:51:25 2510

原创 centos8安装docker个人记录

安装请参考:Install Docker Engine on CentOS | Docker Documentation一:设置存储库 sudo yum install -y yum-utils本人的是centos8的linux,由于centos8官方已经不在维护,出现这个错误修改 /etc/yum.repos.d/CentOS-Linux-Extras.repo,CentOS-Linux-BaseOS.repo,CentOS-Linux-AppStream.repoCe...

2022-04-24 21:30:53 624 2

原创 @NotBlank @NotNull 全局捕获异常返回自定义封装

应为在代码中会存在这大量的判空, == null , isEmpty,isNull 等等。会导致代码很不美观而且不便管理,所以使用到了javax.validation的@NotBlank(String类型判空),@NotNull等方式去在Dto层进行判断。DTO举例:import io.swagger.annotations.ApiModel;import io.swagger.annotations.ApiModelProperty;import lombok.Data;import lo

2022-01-20 11:13:55 7143 5

原创 spring boot +shiro 导致OPTION跨域问题解决

最近遇到的问题为:服务器端(阿里云linux)项目之间访问不到,post接口OPTION请求为403跨域问题。spring boot是添加了解决跨域的配置 @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsRegistry re

2022-01-20 10:57:38 537

原创 spring boot自定义注解AOP实现操作日志写入数据库

1:创建好要保存的实体类package com.example.springboot.entity;import io.swagger.annotations.ApiModel;import io.swagger.annotations.ApiModelProperty;import lombok.Data;import lombok.experimental.Accessors;import java.util.Date;@Data@ApiModel("操作日志实体类")@Ac

2021-12-16 21:43:26 2268 1

原创 mybatis-plus踩坑日记

今天心血来潮,搭建一套项目,记录一下引入mybatis-plus导致的错误。一:在pom文件中引入了mybatis-plus,但是并没有生效。也没有打印出mybatis-plus的logo。出现了这样的一个错误:Application run failedorg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'deptServiceImpl': Unsa

2021-11-30 21:01:57 933 2

转载 Java锁的概念

一:悲观锁在Java中,synchronized和lock锁都是悲观锁。定义:悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改二:乐观锁定义:认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果这个数据没有被更新,当前线程将自己修改的数据成功写入。如果数据已经被其他线程更新,则根据不同的实现方式执行不同的操作(例如报错或者自动重试)。乐观锁在Java中.

2021-11-26 21:46:39 1602

原创 dynamic-datasource启动出现io/seata/rm/datasource/SeataDataSourceProxy问题解决

今天线上的项目换成了多数据源的模式,应为多数据源使用的是mybatis-plus的dynamic-datasource-spring-boot-starter这个包,版本是3.3.0 <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifa

2021-11-22 23:21:23 2404 5

原创 Spring boot集成mybatisplus多数据源(dynamic)踩坑记录

应为业务需要,所以需要集成多数据源,此处做一个记录。此处使用了dynamic-datasource-spring-boot-starter的数据源切换一:引入jar包 <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId

2021-11-15 21:35:27 3882 1

原创 mysql索引

1:使用or的时候,必须每一个字段都加上索引,索引才能生效。2:使用like的时候,%张索引不生效,张%索引生效,前模糊不生效,后模糊生效。3:符合索引必须使用左侧字段4:类型转换索引不生效。5:where条件索引列使用运算符索引不生效。6:where条件中索引列使用函数索引不生效7:mysql自己觉的全表搜索比使用索引要快的时候(数据量少)索引不生效。在什么情况下不推荐使用索引1:使用<> / is null / is not null / like ...

2021-11-10 23:04:19 516

原创 创建线程池ThreadPoolExecutor

创建线程池有七大参数,分别为:1:corePoolSize 核心线程池大小2:maximumPoolSize最大核心线程池大小3:keepAliveTime 超时了没有人调用就会被释放4:TimeUnit 超时单位5:workQueue 阻塞队列6:threadFactory 线程工厂7:handle 拒绝策略拒绝策略又分为四种拒绝策略,分别为:1:new ThreadPoolExecutor.AbortPolicy() 线程满了,但还有线程进入,则不处理,并抛出异.

2021-11-08 22:29:56 1421

原创 Java多线程创建之Callable(四)

public class Thread4 implements Callable<Integer> { @Override public Integer call() throws Exception { int sum = 0; for (int i = 0; i < 10; i++) { sum += i; System.out.println(Thread.currentThread().

2021-11-04 15:43:51 72

原创 Java多线程创建之其他写法(三)

public static void main(String[] args) { new Thread(new Runnable() { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName()...

2021-11-04 10:05:18 64

原创 Java多线程创建之Runnable(二)

public class Thread2 implements Runnable { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName() + "执行" + i + "次"); } } public static void main(Str.

2021-11-03 23:01:03 69

原创 Java多线程创建之Thread(一)

public class Thread1 extends Thread { public static void main(String[] args) { Thread1 thread1 = new Thread1("A线程"); Thread1 thread2 = new Thread1("B线程"); Thread1 thread3 = new Thread1("C线程"); thread1.run(); th.

2021-11-03 22:57:55 128

原创 mysql删除重复字段数据并且保留一条数据

DELETE FROM customer WHERE phone IN ( SELECT t.phone FROM ( SELECT phone FROM customer GROUP BY phone HAVING COUNT( * )> 1 ) t ) AND id NOT IN ( SELECT u.id FROM ( SELECT min( id ) AS id FROM customer GROUP BY phone HAVING COUNT(*)> 1 ) u )

2021-09-23 14:36:40 81

原创 linux centos8安装rabbitmq 亲测以及出现的问题详细版记录

安装rabbitmq的前提是需要安装erlang的环境。erlang的安装在上一篇文章这是rabbitMq和erlang的版本关系对应:https://www.rabbitmq.com/which-erlang.html第一步:安装socat依赖yum install -y socat安装完成的样子第二步:解压rabbitMq的包rpm -Uvh rabbitmq-server-3.9.4-1.el8.noarch.rpm 在这个地方,我的erlang依赖不满足,但实.

2021-08-26 22:06:16 2629 4

原创 记录linux centos 下erlang卸载重装

yum list | grep erlangrm -rf erlang-*查找erlang的安装位置whereis erlangrm -rf /usr/local/erlang重新安装:wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpmrpm -Uvh erlang-solutions-1.0-1.noarch.rpmyum -y instal...

2021-08-26 11:34:04 3199 2

原创 linux centos8安装erlang(亲测安装)

这里只提供本人自己安装的一套步骤。第一步:进入官网https://www.erlang.org/downloads下载下载之后将文件放到usr/local下。将文件进行解压。cd/usr/localtar -zxf otp_src_24.0.tar.gz 创建erlang文件夹mkdir /usr/local/erlang切换到解压后的目录cd /usr/local/otp_src_24.0配置上安装路径./configure --pre.

2021-08-25 11:38:41 1817 5

原创 springBoot 项目集成shiro安全框架并设置shiro的过期时间以及存储当前登陆用户

记录着玩。最近搭建了一套Spring boot的项目,所以想着搞一个安全框架,所以就搭建了一套shiro框架。第一步:在pom文件中引入shiro的包 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>

2021-08-24 23:16:32 1350

原创 knife4j集成shiro导致localhost/doc.html访问不到解决

练手项目,Spring boot+shiro+knife4j。刚刚融合了shiro进来之后,shiro放行了doc.html 和webjars之后,但是界面还是访问不到。最后是应为少了v2之类的解决办法。 Map<String, String> map = new HashMap<>(); map.put("/login","anon"); map.put("/doc.html", "anon"); map.put("/swa

2021-08-23 18:26:03 1930 2

原创 When allowCredentials is true, allowedOrigins cannot contain the special value “*“ 跨域问题

今天配置了跨域,但是出现了一下错误java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a set of origin

2021-08-23 17:28:42 3690 6

原创 nginx make install 出现conf/koi-win‘ 与‘/usr/local/nginx/conf/koi-win‘ 为同一文件

nginx在进行make install的时候,出现了一个cp: 'conf/koi-win' 与'/usr/local/nginx/conf/koi-win' 为同一文件的问题 网上翻阅找到了解决办法。./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf然后male install 没有出错...

2021-08-18 23:27:51 2065 1

原创 服务器上header中返回的值无法使用。

开发中遇到的问题,前端在header中的一个返回值,可以看到,但是在服务端无法拿到做判断,正常的返回是response.setHeader("error", "notLogin");这么写是拿不到的,需要申明这个key为heder白名单。response.setHeader("Access-Control-Expose-Headers", "error");申明了error这个key为白名单,前端就可以访问到了...

2021-07-16 16:43:10 37

原创 centos7放行防火墙端口

启动:systemctl start firewalld查看状态:firewall-cmd --state查看放行端口:firewall-cmd --zone=public --list-ports关闭防火墙:systemctl stop firewalld.servicefirewall-cmd --zone=public --add-port=5672/tcp --permanent#开放5672端口firewall-cmd --zone=public --remove-...

2021-07-14 11:35:37 399

原创 Spring boot项目配置动态多环境

由于在一个项目中会有多个环境,dev,test,prod等多个环境,所以记录一下配置多环境的步骤一:创建多个环境的application。application.ymlapplication-dev.ymlapplication-test.ymlapplication-prod.yml二:创建了相对应需要的环境后,在pom文件中新增代码贴出来自取<build> <plugins> &l...

2021-07-12 22:03:48 180

原创 macos中idea的plugins搜索不到的解决方法

1:https://plugins.jetbrains.com/2:去掉勾选然后稍等几分钟即可。

2021-07-11 12:44:20 538

原创 java 返回结果封装

记录一下返回的结果封装。直接贴代码了。package com.example.springboot.bean;import lombok.Data;@Datapublic class CodeMsg { private int code; private String msg; public static CodeMsg SUCCESS = new CodeMsg(200,"成功"); public static CodeMsg ERROR = ne

2021-07-11 11:58:05 347

原创 spring boot application.yml 配置使用jdbc连接mysql数据库

引入依赖包<!--jdbc依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><!--引入mysql链接依赖--><dependency> <groupId&

2021-07-07 21:32:35 2253

原创 Spring boot项目搭建knife4j接口文档

这里记录一下Spring boot集成knife4j接口文档,knife4j的官方地址为:https://doc.xiaominfo.com/knife4j/官方明确指明,Spring boot的版本必须大于等于2.2.x版本,本人这里的Spring boot版本为2.5.2应为我这里的接口文档规范为OpenAPI2的规范结构,所以直接导入OpenAPI2的maven即可这个是OpenApi2的依赖 <!--knife4j接口文档,OpenAPI2的规范结构--&

2021-07-06 22:16:40 726

原创 idea搭建SpringBoot项目记录

一:选择create new project二:选择自己对应的sdk版本,并且选择线上的Spring boot的地址。三:输入项目名称,并且选择对应的java版本,个人使用的是Java8。四L:选择自己所需要的,一般情况下都会去选择web下的Springweb,此处我还选择了sql的jdbcapi和mysql driver 还有lombok然后继续next下去五:此处可以修改项目的路径以及项目的名称,然后点击finish即可。六:这是整体的项目结构图,应为还没有配..

2021-07-06 21:50:00 95 1

原创 idea找不到实体类解决办法

今天突然遇到了一个项目的实体类找不到,但实际上这个实体类确实存在,网上找了办法。1:删除项目文件目录下.idea文件夹。(对本人的项目并没有用)2:清除idea的缓存。(这个管用)清除步骤:重启即可。...

2021-06-23 11:19:26 5506 10

原创 根据状态值获取月份每一天,近期12天,以及全年月份list

/** * 根据状态获取天数,月份。 * * @param type -1,返回1-12月月份。 0 获取最新12天日期。 1-12 获取每个月的天数 * @return 日期list */ public static List<String> getDateList(String type) throws ParseException { List<String> list = new Arra.

2021-06-21 17:30:36 149

原创 获取月份的最后一天

/** * 获取每月最后一天 * @param yearMonth yyyy-MM * @return */ public static String getLastDayOfMonth(String yearMonth) { int year = Integer.parseInt(yearMonth.split("-")[0]); //年 int month = Integer.parseInt(yearMonth.sp.

2021-06-21 17:26:01 474

原创 springboot项目拦截器中使用redisTemplate空指针问题

应为在拦截器中要用到redis来做一个登录条件判断,所以使用到了redis,但是redis每次都空指针,查阅了资料后才知道拦截器是最先执行的,还未初始化bean,所以要在拦截器执行前将spring

2021-06-07 15:10:06 783

空空如也

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

TA关注的人

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