- 博客(46)
- 资源 (10)
- 收藏
- 关注
原创 mybatis 千万不要使用 where 1=1
mybatis 千万不要使用 where 1=11.解决方案2.为什么不能使用1=11.解决方案下面是mybatis查询语句,如果我们这次我们将 “state = ‘ACTIVE’” 设置成动态条件,看看会发生什么。<select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE <if test="state != null"> state = #{state
2020-11-24 15:40:35
3641
3
原创 spring boot 简单实现接口端口检测
spring boot 项目启动之前 做接口端口检测前言一、springboot启动类中添加websocket连接总结前言 这里主要是用代码的方式实现在服务启动之前,服务先尝试连接一下需要被连接的服务,如果连接失败的话,服务本身启动失败,并且打印启动失败日志一、springboot启动类中添加websocket连接1.在启动类中添加方法public class BacksystemApplication { private static final Logger logger= Logg
2020-09-02 14:36:42
2218
原创 @Scheduled 定时任务不生效原因
@Scheduled定时任务 不生效原因及解决办法1.问题描述2.问题复现3.问题解决1.问题描述在我们系统设计过程中,需要用到定时器,这时候我们用到了spring的Scheduled。系统逻辑为在每天的23:00:00( @Scheduled(cron = “0 0 23 * * ?”) )定时检测系统数据,并进行备份。用到的是cron表达式,自己测试定时器都是正常运行,可是一到测试那边定时器起作用,到了时间点一点变化都没有。给大家安利一个在线网站,用于定时任务配置https://cron.qqe2
2020-08-31 14:11:10
13584
2
原创 spring boot @Autowired 自动注入为null问题解决
spring boot @Autowired 自动注入为null问题解决1.今天在
2020-06-30 15:09:37
8064
1
原创 java从数据库查询出来的时间日期后面多了一个.0
1.现场重现夜深了,测试小姐姐的一顿电话袭来,张同学,你又出bug啦,你看我这根据搜索条件搜索出来的时分秒后面多了一个.0,这个.0从哪里来的????本来我是想把锅甩给前端开发的。可曾不想,前端说,我只负责对数据渲染,其他的不做任何操作。然后,我就默默地打开了idea…2.解决方案...
2020-03-16 09:50:58
15700
2
原创 redis的几种数据淘汰策略
1.redis的数据淘汰策略最为大家所熟悉的,就是我们在进行redis存值的时候,可以针对每个key-value设置过期时间,时间到,数据自动删除。但是,当我们每个key-value都设置不过期的话,redis是不是就会被撑爆了呢?答案是不太会的,为什么这样说?是因为当我们的redis内存达到设置的maxmemory的时候,就会使用数据淘汰策略来保证redis的高可用性。redis的六种淘...
2020-01-02 15:19:59
3552
原创 解决redis修改默认端口以后再启动不生效
在搭建redis主从复制环境的时候,因为本身我这边就一台电脑。所以,想通过修改redis的默认启动端口来达到一台电脑部署多个redis实例。但是其中有坑,下面听我娓娓道来:文章是基于windows10环境下进行。1.复现情况:复制一套新的redis文件,开始大刀阔斧的干。修改配置文件redis.windows.conf或者redis.windows-service.conf配置文件,进去...
2019-12-17 14:52:41
4974
原创 Redis连载系列(三) redis的两种持久化方式RDB和AOF
redis的两种持久化方式RDB和AOF大家好,本篇文章是redis系列第三篇章节,主要是介绍redis的两种持久化方式RDB和AOF。1. RDB(Redis Database)RDB主要就是定时将内存里面的数据以二进制的方式写入到dump.rdb里面去。RDB主要是通过快照方式实现的,我们可以在redis配置文件里面配置快照生效规则。RDB持久化方式默认是开启的。save 900 ...
2019-12-10 19:31:32
361
原创 Redis连载系列(二) redis的基本数据类型
大家好,本篇文章是redis系列第二篇章节,主要是介绍redis的几种类型和类型之间的相关操作和数据类型的正确选型。本篇文章是基于springboot进行说明的常规操作1.简单介绍redis的五种类型1. string类型string类型是redis五种数据类型中最简单的也是最常用的数据类型,key-value以字符串形式进行存储,我们可以看到官方文档的介绍https://redis.i...
2019-12-05 14:49:45
409
原创 Redis连载系列(一) redis的日常使用
大家好,本篇文章是redis系列开篇第一章节,主要是介绍redis的基本功能和我们项目中如何以正确姿势使用redis。1.什么是redis,redis有何作用?下面是来自百度百科的解释:redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有...
2019-11-28 19:43:03
32153
1
原创 java图片上传保存至服务器并返回可下载的URL
java图片上传保存至服务器并返回可下载的URL1.需求来源2.解决思路3.开始干活(直接上代码)4.总结1.需求来源上周要做一个功能,需求是: 微信小程序开发的程序会传一张图片到后台java接口,后台接收到图片保存在数据库。起先,我们是用图片转换成base64编码然后保存在数据库。但是,这样数据量大了以后,传输和查询特别慢。后面改为对上传的图片进行处理,保存到服务器本地文件夹中,并且生成一...
2019-11-26 19:02:46
9002
5
原创 ArrayList和Vector源码角度分析增删查
ArrayList和Vector源码角度分析增删查1.初始化的角度有啥区别2.新增操作 (add)3.获取操作 (get),删除操作(clear、remove)4.总结)1.初始化的角度有啥区别01: arrayList:从下面两张图可以看出来,arraylist的初始化调用了DEFAULTCAPACITY_EMPTY_ELEMENTDATA方法,而DEFAULTCAPACITY_EMPT...
2019-10-25 15:11:04
340
原创 springboot 动态加密数据源url、用户名、密码等
springboot 动态加密数据源url、用户名、密码等jasypt使用的是PBEWithMD5AndDES加密方式,所以每次加密出来的结果都不一样,所以很适合对数据进行加密。有想要了解详细的jasypt使用过程可以访问官网 http://www.jasypt.org/howtoencryptuserpasswords.html对应的github地址 https://github.com...
2019-10-18 14:07:15
1961
原创 java面向对象的三大基本特征和五大原则
java面向对象的三大基本特征和五大原则1. 三大基本特征2. 五大基本原则1. 三大基本特征01:封装 封装是面向对象里面最简单的也是最好理解的。通俗一点来讲的话,就是定义了一个类,类里面的方法是私有的,不能够被外界访问,防止其他程序来做更改。一般来说使用private来修饰。封装对数据提供了有效的保护。02:继承 要记住java中只能单继承,如果要用多个请用实现。继承有子类和...
2019-10-16 11:13:42
639
1
原创 StackExchange.Redis.RedisConnectionException: No connection is available to service this operation:
C#连接redis出现下面错误解决方案客户端报错如下:StackExchange.Redis.RedisConnectionException: No connection is available to service this operation: EXISTS UserSysData_1016644; SocketFailure on 192.172.0.128:6379/Interac...
2019-09-18 16:05:22
14675
2
原创 String、StringBuffer、StringBuild的区别与联系
这是一个高频考点,一般面试也会遇到,接下来我们会从源码角度区分这三个的区别和实用场景。1.简单的分析string: 点开源码。string用的是final类型,表明这个字符串不可变,并且实现了java.io.Serializable, Comparable, CharSequence三个方法。final类表明不能被继承、fina表示成员变量,一旦被修改赋值,就不能再次赋值,只能赋值一次。fin...
2019-09-05 10:14:08
3824
原创 redis那些事之缓存击穿、缓存雪崩、缓存穿透
1.redis介绍 大家都知道,当我们项目中需要对外提供一些信息的时候,不可能让其他项目直连我们的数据库,那怎么办呢? 我们可以项目开放一个接口,提供被调用服务。但是,如果接口访问压力大,怎么办?我们一般引用缓存,用内存方式缓存耦合度比较高,并且不方便管理。此时,我们需要引入redis,redis很好的帮我们解决了这个问题,官网是这样介绍redis的。**但是,如果我们对数据一致性要求比较高的...
2019-08-31 21:38:12
758
原创 解决springboot+ellasticsearch+ik分词器,其中ik分词器无法添加到mapping节点问题
1.ellasticsearch添加IK分词器插件打开网址,我们在使用分词器的时候一定要 使用与elasticsearch版本相同的分词器,对应官网下载地址为IK下载地址,下载解压以后,在elasticsearch的plugins下新建ik文件夹,将下载的ik解压到ik文件下里面即可。2.用head插件,查看ik分词器是否起作用我们重启elasticsearch.bat服务,在head页面复...
2019-08-30 09:37:25
2233
原创 spring boot使用elasticsearch启动报错几种原因分析
spring boot使用elasticsearch启动报错原因分析1.我们下载好elasticsearch服务以后,启动E:\elasticsearch-6.4.3\bin下面的elasticsearch.bat,如果是一闪而过的话,一般是有问题的。我们切换cmd,用命令行工具,启动elasticsearch.bat文件,一般错误会显示出来,这种错误一般都是java的环境变量不对,设置下即可。...
2019-08-22 15:50:48
3453
原创 springboot整合elasticsearch,增删改查,亲测可用
springboot整合elasticsearch,亲测可用1。 最近公司项目要做一个搜索引擎服务,立马就想到了elasticsearch。对于elasticsearch,百度百科是这样解释的:ElasticSearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用ElasticSearch的水平伸缩性,能使数据在生产环境变得更有...
2019-08-22 14:53:06
5310
原创 idea中文显示插件
idea中文显示插件1.打开我们的idea,我这边用的是2018.3版本的,可能跟大家的版本有所差异,但是大体上还是一致的。 打开 File - Settings -plugins 然后选择Marketplace ,然后选择我们需要下载的翻译软件即可 Translation。下载完成以后重启idea服务2.大家找到需要翻译的文字,目前可以支持谷歌翻译,有道翻译和百度翻译,翻译的选择在id...
2019-07-19 14:04:14
14465
原创 java中ArrayList和LinkList的区别
java中ArrayList和LinkList的区别1.首先我们说下ArrayList和LinkList各是基于什么原理实现的?答:ArrayList底层是数组结构,LinkList底层是链表结构。我们来说一下数组与链表的区别: 1.数组的定义:是相同数据类型的元素按照一定顺序的排列。也就是说,每一次对数组大小进行更改的时候,数组内部会进行重新排序,按照元素的下标顺序重新排序,数组下班是从0开...
2019-07-09 15:39:27
3664
原创 Mysql索引查询效率优化
Mysql索引查询效率优化与避免使用笛卡尔积1.为什么要使用索引?什么是索引答:使用索引可以大幅度增强查询的速度。但是我们在一些频繁修改或者删除的表上面,不建议建立太多的索引,因为每次修改、增加、删除都要根据设置的索引类型,对内存的文件进行重新排序,这样很损耗性能。索引就是通过特定的算法(例:Btree或者Hash算法),然后根据建立的特征值去匹配。比如,原先我们查询一条数据,要执行一万次,建...
2019-07-08 10:11:29
493
原创 sprng boot多个sqlserver数据库或者mysql数据库 数据源配置及事物处理
1.新建spring boot项目,sqlserver数据库的话,依赖可能无法下载,需要手动下载并且引入的maven项目中,其他数据库类型,直接在pom中引入即可。2.项目结构3.配置文件application.properties:server.port=8894#主库的配置spring.datasource.config.jdbc-url=jdbc:sqlserver://127....
2019-06-24 16:47:36
1070
原创 解决spring boot中多数据源invalid bound statement (not found)报错问题
1.错误重现2.解决思路:01.平常我们系统中报这个错一般都是xml路径没有扫描到,在yml或者properties里面没有配置xml的扫描路径 ,我们配置上即可02:或者我们dao层接口,没有加mapper注解,致使无法扫描到resource下面的xm文件我这里加了注解的03:检查dao里面的接口中的方法名和 mapper.xml 中的statement 的 id 是否保持一致。不...
2019-06-24 14:41:26
14645
23
原创 java工具类大全
java工具类大全这里我发现了一个非常好用的java工具类大全,开箱即用,而且还有源码在git上面,需要研究的可以下载源码查看。这里奉上作品地址: https://www.hutool.club/docs/#/...
2019-06-21 13:28:53
2670
原创 spring boot线上设置日志打印级别
spring boot线上设置日志打印级别1.当我们项目打成jar包以后,我们用bat脚本启动$ java -jar my.jar –debug注意,我们可以直接在脚本里面加上–debug ,项目启动以后打印的就是debug日志2.我们也可以在yml里面配置 debug=true,但是这个如果我们要改的话,需要改jar里面内容,不太适合。线上的话,还是在bat脚本里面直接写比较好...
2019-06-04 15:47:55
2031
原创 mybatis报错Could not set parameters for mapping遇到的坑
1.今天上午来的时候,在我们自己UAT环境遇到一个奇怪的错误,从dao层到mybatis里面遇到一个错误,Could not set parameters for mapping…等等,这很显然,是告诉我们sql语句里面的动态传值有误,但是我检查了好几次,没发现有错误呀,全部用的#占位符,毫无问题,但是 上到uat环境里面就报错,很是纳闷。2.随后我仔细观察,发现我在sql语句里面注释了一条语句...
2019-05-13 13:03:28
28310
17
原创 解决nginx按照每天备份日志Crontab定时任务不生效
1.按照网上的教程,我们先需要在本地编写一个sheel脚本,我这边本地是win10的系统。nginx是部署在linux系统中(sheel脚本需要放在linux系统中)2.需要执行的脚本代码为,注意里面的nginx中的log路径,需要替换成你自己的log路径。#/bin/bash#备份日志的路径bakpath='/opt/openresty/nginx/backlogs'#nginx日志路...
2019-04-25 17:18:37
1013
2
原创 springboot中使用@Transactional注解事物不生效的原因
一:在springboot中使用事物遇到的坑1.我们知道spring中的事物分为两种:一种是编程式事物,一种是声明式事物。顾名思义,编程式事物是指通过代码去实现事物管理,这里不做过多说明。另一种是声明式事物,分为两种情况01:一种是通过传统xml方式配置,02:使用@Transaction注解方式配置,这是主要讲解的是通过注解方式配置。因为在springboot项目中,会自动配置DataSour...
2019-04-24 11:19:14
25847
6
原创 spring boot子项目引入内部jar包,一直打包报错的原因分析
1.首先我这边新建springboot项目,然后写了一些工具类,供子项目引用。把这个公共项目先clean,再package。这样在我们的target目录下就生成了一个公共工具类的jar包。2.在子项目引入这个jar包。 在子项目项目目录下面新建libs文件夹,将jar包拷至文件夹内。然后在子项目的pom文件夹中引入该jar包。引入的绝对路径是:这里:我贴上我这边的build里面的配置:重...
2019-04-22 19:33:37
4012
原创 spring boot启动报错: server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one
1.这句话的英文报错的意思是:服务器时区值无法识别多个。2.要解决这个报错有两种方法,一种是找到数据库连接的服务器,进入mysql.show variables like ‘%time_zone%’;set global time_zone=’+8:00’;或者在jdbc连接的url后面加上serverTimezone=GMT%2B8即可如下图所示,即可解决3.为什么会出现这样的错误...
2019-04-17 09:13:54
516
原创 java中的HashMap存入效率测试与初始化容量大小之间的关系
1.这里是我做的测试代码public static void main(String[] args) {int initialSize = 10000000;//HashMap存入效率测试 Long start1 = System.currentTimeMillis(); Map<Integer,Integer> map = new HashMap<>...
2019-04-15 16:32:28
1753
原创 mysql主从数据库配置说明Windows版本
mysql主从数据库配置说明MySQL 主从复制原理是:主服务器将更新写入二进制日志文件,并维护文件的一个索引 以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。 从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。注: 单向改变,改变从服务器数据没有效果。一定要记得关闭主从服务...
2019-04-10 19:38:10
356
原创 spring colud的eureka maven依赖无法下载问题
解决Spring boot项目中引入spring colud的eureka maven依赖无法下载问题问题截图解决方案问题截图我们看到在pom中引入spring-cloud-starter-eureka-server依赖是没有报错,但是我们在maven里面看到,这样是无法下载对应的依赖,显示unknown。解决方案这样就解决meven依赖无法下载的问题了,给eureka-server加...
2019-03-04 09:59:04
9989
2
原创 Mysql定时备份数据库结构和数据bat脚本
1.需要我们在电脑上创建定时任务2.3.创建以后一步一步按照上面的提示来,最后一步,选择执行的脚本文件即可4.这样 每天windows就会每天执行脚本里面的代码,备份至 文件夹中...
2018-12-24 11:09:05
1343
原创 springboot返回404错误页面
springboot返回404错误页面1.HandlerInterceptor 拦截器的使用 实现HandlerInterceptor 接口,或者继承重写了HandlerInterceptor 接口的类2. HandlerInterceptor 常用的三种方法 1.boolean preHandle (HttpServletRequest request, HttpServ...
2018-07-17 14:15:44
3507
原创 spring boot Aop日志记录
spring boot Aop日志记录Aop 面向切面编程。让业务逻辑代码和关注点分离,我们只用关注切点就好,对本身写的业务逻辑代码没有影响。首先,我们用图片解释一下什么叫做切面,如下图: Aop表达式 详解在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut”切入点”例如定义切入点表达式execution(*...
2018-07-16 11:15:38
265
原创 Mybatis批量更新出错问题
Mybatis批量更新出错问题我们经常会遇到这样的需求,那就是利用Mybatis批量更新或者批量插入,但是,实际上即使Mybatis完美支持你的sql,你也得看看你说操作的数据库是否支持,而阿三,最近就遇到这样的一个坑这是我的批量更新代码图**一看没毛病呀,打印出来sql也是正确的。的确,这段代码 是没有错误的。可是,只要一执行就要报语法错误。后来发现,原来mysql的批量...
2018-06-12 10:00:44
2742
elasticsearch-6.4.3和IK分词器压缩包.rar
2019-08-22
spring boot多数据源.rar
2019-06-24
公共上传下载程序和页面,相当于FTP的功能
2019-04-10
Mysql每天定时备份数据库数据和结构
2018-12-24
sprig boot结合websocket 实现的同时多人在线聊天室
2018-07-16
Spring boot登录项目,有验证码,MD5加密。还有简单的 增删改查,还有分页
2017-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人