自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 @JsonValue注解和@JsonCreator注解的使用

Fastxml.jackson提供了JsonValue和JsonCreator注解用于序列化和反序列化时使用.@JsonValue注解用户get方法或者属性字段上,一个类只能用一个,加上这个注解时,序列化就会只返回这一个字段的值.比如一个枚举类的get方法上加上该注解:那么在序列化这个枚举类时,输出的对象就是:枚举类中的某个枚举的值,而不是这个枚举如:如果不加这个注解且没有使用@JsonFormat注解时,经过序列化之后,输出的是这个枚举,如图:但是在枚举类上..

2021-03-19 16:24:06 6153

原创 java中使用redis,实现key对应的value自增

/** * 实现某个key自增1,并且设置有效期 * @param key * @param liveTime * @return */public int increment(String key,long liveTime){ RedisAtomicInteger redisAtomicInteger = new RedisAtomicInteger(key, template.getConnectionFactory()); int andIncrement = redi.

2020-11-12 14:11:18 2509

原创 关于LocalDate和LocalDateTime的一些操作

/*** 设置日期格式化* @type {[type]}*/private static final DateTimeFormatter DATE_TIME_FORMATTER=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSS");/*** 设置日期时区常量*/private static final ZoneId CHINA_ZONE_ID=ZoneId.systemDefault();/*** Date格式化为...

2020-10-20 14:01:43 308

原创 idea在本地启动项目的时候,指定服务名称的配置

参数:-Dspring.application.name=服务名称

2020-10-15 11:52:36 2456

原创 反射给对象属性赋值,报没有set$jacocoData()方法异常

代码在本地测试正常,部署到服务器后运行报错;查看错误日志说是找不到 set$jacocoData()这个方法排查代码发现,代码中利用反射给对象的属性赋值,首先利用反射获取当前对象所有的属性信息;然后根据属性名称拼接set方法,利用反射的set方法给属性赋值的时候,报错 找不到 set$jacocoData()这个方法;但是$jacocoData这个属性不是自己在定义的,代码中也没有此属性;但是利用反射的获取对象属性信息的时候,获取到了这个属性;通过百度找到了答案:该问题是由Jacoco引起的..

2020-10-13 13:20:20 1248

原创 git命令

1. git reset --hard 版本号2.拉取远程分支到本地git fetch origin dev(dev为远程分支名称)git checkout -b dev origin/dev

2020-09-28 17:59:47 65

原创 MyBatis中<foreach>标签遍历map

<foreach collection="map" item="value" index="key" separator=";"> </foreach>遍历map的时候,index取的是key值,item取的是value值

2020-08-19 17:37:25 1038

原创 idea中定义的类实现序列化接口后 alt + enter快捷键,没有创建序列化版本号id的选项

需要在setting中设置一下即可,具体步骤如下图所示:

2020-08-19 10:25:27 991

原创 MyBatis中常遇到的问题总结

1

2020-08-18 17:36:46 233

原创 SpringBoot项目启动时,报项目启动失败,找不到或无法加载主类

从别的地方直接拷贝过来的项目,target文件中的启动类地址和本地项目的是不一致的,需要在使用maven清除一下target然后在打一下包,就能启动了;在idea的右侧菜单栏中找到maven按钮进行操作如果在打包时失败,检查一下maven的配置是否正确;maven的版本,xml文件以及xml文件中的仓库地址...

2020-08-18 09:54:36 1121

原创 项目从git上clone下来后,在idea中打开,文件上出现黄色时钟标记,并且无法启动

111

2020-08-18 09:47:33 3092

原创 MySql 单行函数和多行函数

什么是函数以及函数的作用:函数简化操作难度,提高select的处理能力;函数并没有修改数据库中字段的值函数的分类:函数可以分为 单行函数和多行函数;多行函数就是对多行进行操作,产生一个结果的函数;单行函数就是队一行进行操作,产生一个结果单行函数1--字符串函数 对应java中String的方法1.1--lower()函数 字符全部变小写1.2--upper()函数 字符全部变大写1.3--length()函数 给出字符的长度1.4--replace()函数,替换,替换字段

2020-08-10 23:18:34 886

原创 调用第三方服务接口使用RestTemplate方式,返回结果被转换为LinkedHashMap结构

使用exchage调用,返回数据能拿到

2020-07-09 23:14:17 3341

原创 使用Set集合时,出现java.util.ConcurrentModificationException的解决办法

通过java.util.ConcurrentModificationException异常类的注释描述,了解到,当同时对某个对象进行修改,并且这种同时修改操作时不被允许的时候,就会报此类错误;使用HashSetc产生此异常的原因:使用加强for循环对set集合进行了遍历,遍历的过程中又对集合的元素进行了判断,满足某种条件的时候,就删除元素;此时就造成了,set在被循环的同时,又被进行了修改,所以出现了异长;错误代码Set<String> set = new HashSet&lt

2020-06-10 17:32:07 843 1

原创 A+B问题

不使用加号,计算A+B的结果public class Solution { /** * @param a: An integer * @param b: An integer * @return: The sum of a and b */ public int aplusb(int a, int b) { // write your code here return plus(a,b); } pu

2020-06-03 23:02:22 93

原创 原地旋转数组

描述给定一个字符串(以字符数组的形式给出)和一个偏移量,根据偏移量原地旋转字符串(从左向右旋转)。offset >= 0the length of str >= 0说明原地旋转意味着你要在s本身进行修改。你不需要返回任何东西。样例样例 1:输入: str="abcdefg", offset = 3输出: str = "efgabcd" 样例解释: 注意是原地旋转,即str旋转后为"efgabcd"样例 2:输入: str="abcdef...

2020-06-03 22:30:31 298

原创 找到落单的数

给出2 * n + 1个数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。n≤100样例样例 1:输入:[1,1,2,2,3,4,4]输出:3解释:仅3出现一次样例 2:输入:[0,0,1]输出:1解释:仅1出现一次挑战一次遍历,常数级的额外空间复杂度public class Solution { public int singleNumber(int[] A) { // write your code .

2020-06-03 21:36:43 238

原创 2.找到数组中的任意一个极大值

给定一个数组nums,其中nums[i]!=nums[i+1],找到极大值元素,并返回其索引。数组可能包含多个极大值,在这种情况下,返回任何一个极大值所在位置即可。可以假设nums[-1]=nums[n]=负无穷大/** * 利用折半查找的思想,中间值,大于两边值的时候返回中间值 * 中间值索引小于等于0的时候,返回索引0 * 中间值索引大于等于数据最大索引的时候,返回最大索引 * * @param arr * @param middle

2020-05-29 22:41:23 597

原创 倒置一个整数

1.反转一个int类型整数中文English反转一个只有3位数的整数。样例样例 1:输入: number = 123输出: 321样例 2:输入: number = 900输出: 9注意事项你可以假设输入一定是一个只有三位数的整数,这个整数大于等于100,小于1000。 public int reverse(int num) { int n = 0; while (num > 0) { n .

2020-05-29 22:30:39 646

原创 POI导出的excel,用offic打开,双击单元格背景颜色变黑,但是wps打开就没问题

POI导出的excel,ofiice打开出现上述的问题,只需要在导出excel的时候强制设置单元格的背景颜色为白色即可;单元格的颜色设设置的时候,有背景颜色设置方法[setFillBackgroundColor()]和前景颜色设置方法[setFillForegroundColor()];设置的时候要区别开,根据需要调用相应的方法;关于背景颜色和前景颜色:前景颜色:一般指字体颜色背景...

2020-04-26 15:12:03 3296 1

原创 mysql查看是否锁表

//查询被锁的表show OPEN TABLES where In_use > 0;//查询当前执行的线程SHOW PROCESSLIST;//kil掉在执行的线程 根据process_idkill 228;

2020-03-03 20:25:03 166

原创 maven中排除依赖传递可以在pom.xml文件中使用exclusions标签

在项目A中引入项目B的依赖,通过依赖传递,会把项目B中的jar都引进来,如果在项目A中不想使用项目B中的某些jar包,可以使用exclusions标签进行排除,具体该标签的用法:<exclusions> <exclusion> <groupId></groupId> <artifactId></artifac...

2020-02-25 23:16:18 8720

原创 sql语句查询时,where条件同时使用and和or

sql查询时,where条件后即有and和or,要使用括号将需要区分的括起来。

2020-02-20 09:54:47 3684 1

原创 求两个Date之间的天数

利用JDK1.8的新特性,ChronoUnit类获取两个日期之间的天数只差ChronoUnit是一个枚举类,有一组标准的时间周期为单元的枚举值,它的枚举值是不变的,线程安全的。使用between()方法获取两个日期之间的天数差,当然不仅仅可以获取天数差,可以获取这个枚举类中任意一个给出的时间单元的间隔,如毫秒数,秒数,分钟数,天数,月数,年数等。between(Temporal temp...

2020-02-05 16:52:35 1297 2

原创 mac下如何安装maven仓库

一、下载maven 下载地址:http://maven.apache.org/download.cgiBinary tar.gz archive :适用于linux,macOs系统。二、maven安装与配置1.解压:双击刚才下载的maven文件,解压到自己想放的地方,这里将maven包放到个人文件夹下的maven包下。2.配置 a.打开终端,输入:v...

2020-02-02 22:43:26 3977

原创 SpringBoot中使用Redis,并且指定存放到Redis中的数据的序列化方式。

1SpringBoot 整合Redis修改全局配置文件,配置Redis服务器的地址和端口#Redis服务器地址 spring.redis.host=127.0.0.1 #Redis服务器连接端口(redis默认端口是6379)spring.redis.port=6379 #Redis服务器连接密码(默认为空) spring.redis.password=1234#Red...

2020-01-01 17:02:22 1907

原创 利用MyCat实现单库分表以及单库分表联查报错问题的解决

上一篇文章中介绍了MyCat的原理及功能。本篇文章将根据实际的业务场景介绍MyCat在单库分表中的使用方式。MyCat1.5以后的版本才开始支持单库分表功能。在官网上下载MyCat解压后,进行配置。需要修改的配置文件有server.xml、rule.xml、schema.xml以及wrapper.conf文件。提示:1.6.7版本的MyCat在做单库分表的时候,未拆分的表之间的联查是支持的...

2020-01-01 16:48:45 1744 5

原创 MyCat分库分表后的数据迁移解决方案

前面有几篇文章介绍到了MyCat怎么实现分库分表功能。在将单库中单表分库分表成功后,又要面临一个将老表中数据迁移到分表之后的表中,并且还要遵循MyCat中的分表规则。又是一个比较棘手的问题。小编最初的时候是通过最笨的办法,通过代码实现。这种方式实现起来比较复杂,特别是在分库的情况下,就需要连接多个数据源。并且效率也比较低,开发、测试、预生产和生产这么多环境,实现起来更是会遇到不可预料的问题。MyC...

2019-12-31 19:04:36 1494 2

原创 MyCat中密码安全问题

连接MyCat的用户名和密码以及MyCat连接数据主机的用户名和密码都是写在配置文件中,如果用明文编写,往往是不安全的很容易泄露。MyCat也考虑到了密码的安全问题,为我们提供了密码加密的方式。1.前端连接MyCat的密码加密连接MyCat的用户名和密码是在server.xml文件中的<user></user>标签中配置的。 <user na...

2019-12-30 19:39:26 1403

原创 数据库分库分表中间件-MyCat简介

1.MyCat简介MyCat 是目前最流行的基于 java 语言编写的数据库中间件,是一个实现了 MySQL 协议的服务器,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信,其核心功能是分库分表。配合数据库的主从模式还可实现读写分离。MyCa...

2019-12-29 18:13:53 383 1

原创 MySql中 on duplicate key update的使用

开发中,经常会遇到向数据库中插入数据,如果数据库中执行存在这条记录就更update操作,如果不存在就执行insert操作。当操作一条数据的时候,实现比较简单,比较笨的方法(小编之前自己就是用这种方法)就是先根据主键或者唯一键进行查询,如果查到数据库总有记录,就执行update,如果没有查到记录,就执行insert。Mysql有一个自己特有的关键词-on duplicate key update,很...

2019-12-20 22:13:05 998

原创 SpringBoot中通过住注解方式使用Redis

1. SpringBoot中Redis缓存注解的使用首先在启动类上添加@enableCache注解,表示开始注解缓存功能特别注意:Spring框架中所有的注解都是通过AOP的原理实现的,即Spring框架为我们创建代理对象,代理对象去实现注解的功能。所以当一个支持缓存的方法,在对象内部被调用的时候,是不会触发缓存功能的,因为当前类方法调用当前类方法使用的是this.调用,也就是当前对象,而...

2019-12-14 10:38:07 665

原创 Kattle的使用

最近在做将老系统oracle数据库中的数据迁移到新系统MySQL数据库中,使用到了kattle这款工具。发现kattle很好用,将小编自己这几天对kattle学习到的使用方法和大家分享一下,给做数据迁移的同学提供一下参考。kattle是什么:kattle是国外的一款开源的ETL(将数据从来源段经过抽取,转换,加载至目的端的过程)工具。纯java编写,可以在Windows、Linux、Uni...

2019-11-24 21:10:46 4029

原创 POI进行文件下载时,各种中文乱码问题的解决

1.设置响应头信息,告诉浏览器不需要解析resp.setContentType("application/octet-stream")2.文件名称中文乱码resp.setHeader("Content-Disposition","attachment;fileName="+URLEncoder.encode(name,"UTF-8"))URLEncoder是一个工具类,提供了按...

2019-11-24 19:41:20 1423

原创 POI导出EXCEL时,设置单元格格式有效性验证helper.createDateConstraint()

POI在操作excel导出的时候,有时候想要设置单元格样式,再次编辑的时候只允许输入特定格式的内容。POI中提供了多种格式的有效性验证方式,下面将自己用到的验证方式以及使用方法列出:1.日期格式的验证//创建数据验证类DataValidationHelper helper = sheet.getDataValidationHelper();//设置验证生效的范围CellRangeA...

2019-11-24 18:12:47 7162 6

原创 多线程中CountDownLatch类的使用

作用:CountDownLatch类可以使一个线程等待其他线程都执行完毕后再执行。实现原理:通过计数器来实现,计数器的初始值使线程的数量。每当一个线程执行完毕,计数器的数量就会-1,当计数器的数量为0的时候,表示线程已经执行完毕,然后在计数器锁上等待的线程就会被唤醒,开始执行。主要方法:1.构造方法:CountDownLatch(int count)创建一个计数器对象,并且...

2019-11-24 18:06:49 215

原创 MyBatis中批量更新操作

小编最近遇到的场景:需要先后调用三个服务来获取自己需要的数据集合,调用具有先后顺序,必须先调用第一个服务获取到信息集合,然后根据集合中每一条数据信息去调用第二个和第三个服务,完善信息,将组装好的数据存到自己的数据库中。最初的方案:因为数据量比较大,还要考虑到效率,所以最开始的方案是想着使用多线程去执行。第一步现在主线程中调用第一个服务获取基础信息集合,然后每一条基础信息都开启一个子线程,去调用...

2019-11-24 18:03:49 410

原创 Spring框架中,同一个类中的非事物方法调用另一个用@Transactional注解的方法问题

1.Spring框架

2019-11-24 17:12:47 1283

原创 用Arrays.asList()生成的list,调用add()方法时,报java.lang.UnsupportedOperationException: null异常分析

项目开发中需要将一个数组转换为集合,想到的用Arrays.asList()方法,生成的集合在调用add()方法,向里面添加元素的时候,报java.lang.UnsupportedOperationException: null异常。通过查看源码,最后将问题解决。业务代码List<String> title = Arrays.asList();title.ad...

2019-11-22 10:40:22 911

空空如也

空空如也

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

TA关注的人

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