- 博客(93)
- 收藏
- 关注
原创 数据库查询时间过长导致The last packet sent successfully to the server was 10,001 milliseconds ago深入分析及解决方案
就是说通过在配置文件中配置connectTimeout与socketTimeout即可解决此问题.找到application.yml
2024-08-10 11:58:24
1153
1
原创 使用SSE实现移动端扫码登录PC端
网上搜索的扫码登录大部分采用的都是PC端轮训获取二维码状态的方式实现扫码登录,需要写定时任务,服务端还需要保存二维码主键的扫码状态,感觉比较麻烦,感觉用服务器通知的方法比较简单,所以考虑只用这种方式,服务端通知的方式可以使用websocket或者SSE,websocket是双向通讯,搭建起来需要引入插件,二维码刷新还是需要使用定时任务,但是使用SSE可以根据SSE的超时来触发二维码超时刷新的功能,而且不需要额外引入其他插件.完美解决,废话不说,上代码.服务端controler类import lombo
2024-01-25 10:19:41
1128
原创 抽奖sql存储过程
CREATE DEFINER=`root`@`%` PROCEDURE `SP_LotteryDraw`(in _luck_draw_account_id int,in _shop_id int,in _is_inshop int)BEGIN #定义变量 DECLARE _GIFT_1 INT; #抽到撒红包的次数 DECLARE _GIFT_2 INT; #抽到交友的次数 DECLARE _GIFT_3 INT; #抽到折扣商品的次数 DECLARE _GIFT_4 I
2024-01-19 10:37:59
443
原创 Mybatis-plus自定义拦截器实现对查询的某个表增加固定搜索条件
由于新的需求出现,要在一个表上增加一个字段,原先由于功能运行都是正常的,而且这个表查询用的地方比较多,只是因为新增这个功能导致原先查询这个表的条件都需要增加查询这个字段的条件,全局搜了一下,这个表的查询太多了,所以就思考有没有什么办法在一个地方添加,查询这个表会自动加上这个搜索条件
2023-05-18 14:38:54
1144
原创 access数据库连接sqlserver实现远程连接
将access数据迁移到sqlserver,然后将access对应的表连接到sqlserver,这样就实现了将access改为sqlserver数据库,剩下的就比较简单了,只需要将sqlserver的端口号通过内网穿透就可以外部访问了。
2023-05-04 11:42:03
5146
原创 Mybatis-plus自定义拦截器实现对查询的某个表增加固定搜索条件
Mybatis-plus自定义拦截器实现对查询的某个表增加固定搜索条件
2023-01-05 14:34:09
3853
3
原创 pagehelper未使用但是报pagehelper的错误
sql查询pagehelper未使用,但是报pagehelper的错误在调用PageHelper.startPage(pageNum,pageSize)时会调用PageHelper的SqlUtil的setLocalPage方法,该方法使用ThreadLocal。当该线程被其他方法调用时即使没有使用PageHelper也会分页。总结:在使用PageHelper.startPage(pageNum,pageSize)后需要对应的sql查询将此分页消费,可查看下是否有PageHelper.startPage之
2022-02-25 09:51:37
622
原创 Ngnix反向代理实现wss
1.首先申请ssl证书并配置完成,域名可通过https访问2.配置反向代理3.在反向代理配置文件中location /{}位置增加proxy_set_header Upgrade $http_upgrade; #支持wssproxy_set_header Connection "upgrade"; #支持wss配置文件location /{ proxy_pass http://127.0.0.1:10010; proxy_set_header Host
2021-09-15 15:46:02
365
原创 ngnix 电脑手机网站互相跳转,并识别蜘蛛不跳转
电脑版ngnix配置#设置变量set $mu '';#判断是否是手机,如果是手机,则赋值mu为m if ( $http_user_agent ~ "^((.*UCWEB.*)|(.*WAP.*)|(.*Mini.*)|(.*iPhone.*)|(.*Android.*)|(.*mobile.*)|(java.*)|(.*BlackBerry.*))$" ){ set $mu m;}# 判断是否是蜘蛛,如果是蜘蛛,则在mu后添加u if ($http_user_agent ~*
2021-04-27 14:01:09
1023
1
原创 java.sql.SQLException: Incorrect string value解决办法
由于数据库编码格式不能存储四个字节的文字(表情等) ,一般使用utf8,但是utf8存储的一个字符是3个字节,如果存储的一个字符为4个字节就会报java.sql.SQLException: Incorrect string value两种解决办法:1. 更改数据库字段编码ALTER TABLE `数据库名`.表名 MODIFY `字段名` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;2. 更改插入内容将插入内容转化为
2020-09-15 17:03:27
13997
原创 Linux总自动杀死运行的jar
最近运行一个项目,因为服务器内存较小,项目在每天凌晨会执行定时任务爬取网上的数据导致内存占用过高,触发Linux内核OOM机制,导致进程被杀死. 如果出现程序运行莫名停止的可以通过egrep -i -r 'killed process' /var/log查看是否是OOM Killer 杀死的进程解决办法:使用sudo echo -17 > /proc/$pid/oom_score_adj减少要运行进程的oom_score分数,防止OOM Killer杀进程是要运行的进程因为分数过高被
2020-05-29 18:04:25
2380
1
原创 linux安装BFE
编译环境准备安装 golang 1.12+1.下载gowget https://dl.google.com/go/go1.13.linux-amd64.tar.gz2.解压tar -C /usr/local -zxvf go1.13.linux-amd64.tar.gz3.设置环境变量vi etc/profile添加export PATH=$PATH:/usr/local/go...
2019-11-20 15:07:37
639
原创 mysql触发器删除表数据时将删除的数据插入到备份表中
使用触发器CREATE TRIGGER '触发器名称' BEFORE DELETE ON '删除的主表名称' FOR EACH ROW BEGIN INSERT INTO '备份表名称' SELECT * FROM '主表名称' where id=old.id; END
2019-10-25 10:24:33
5277
1
原创 Linux 服务器 ftp上传文件出现的问题
1 安装vsftpd[root@localhost modules]# yum install -y vsftpd2 编辑ftp配置文件[root@localhost modules]# vi /etc/vsftpd/vsftpd.conf做如下修改: anonymous_enable=NO#关闭匿名登录chroot_local_user=YES#用于指定用户列表文件中的用户是否允...
2019-08-12 10:23:48
922
原创 mysql修改时间字段只修改日期不修改时间内
UPDATE fa_football_matchSET match_time = ADDTIME(date(‘2019-07-07’) + INTERVAL 0 HOUR,time(match_time))where ID BETWEEN 2675450 and 2675475
2019-07-04 11:49:13
3769
原创 BUNQ对接时通过扫码sofort二维码获取不到接口ID
在对接bunq时使用的是java_sdk 在通过扫码获取token创建付款请求时,根据接口文档,应该返回的是一个sofort的事务ID,然后再通过ID去调用 SofortMerchantTransaction 接口去获取二维码中的信息,但是在实际开发中发现返回的值并没有ID属性,后来根据调用扫描IDEAL的二维码发现这个接口是通过直接把返回的值放到属性中进行访问的,所以尝试把SofortMer...
2019-06-05 10:13:32
347
转载 BigDecimal 加减乘除及比较大小
BigDecimal 比较大小BigDecimal a = new BigDecimal (101);BigDecimal b = new BigDecimal (111);//使用compareTo方法比较//注意:a、b均不能为null,否则会报空指针if(a.compareTo(b) == -1){System.out.println(“a小于b”);}if(a.compar...
2019-05-29 16:42:15
371
转载 springboot打成war包
SpringBoot默认达成jar包,使用SpringBoot构想web应用,默认使用内置的Tomcat。但考虑到项目需要集群部署或者进行优化时,就需要打成war包部署到外部的Tomcat服务器中。本文所使用SpringBoot版本为:2.0.3.RELEASE一、修改pom.xml文件将默认的jar方式改为war:<groupId>com.example</groupI...
2018-12-12 10:20:16
167
原创 Springboot整合mybatis连接数据库
1.导入相关jar包使用maven导入,pom.xml配置如下<!--继承父类--><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <vers...
2018-12-12 09:54:00
629
原创 使用shiro框架进行安全验证
1.首先要创建数据库,创建5个表,分别是用户表,用户与角色中间表,角色表,角色与权限中间表,权限表2.导入相关的jar包,这里使用maven导包 <dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-sprin...
2018-12-11 10:52:04
241
原创 使用dubbo调用服务
创建服务提供者1.创建服务接口并编写实现类2.导入jar包,这里使用maven导入<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6
2018-12-09 11:26:28
703
原创 Linux环境下配置zookeeper集群
配置zookeeper集群可以使单个zookeeper节点宕机后别的zookeeper节点仍可以提供服务,保障服务的运行如果主节点宕机,即(leader)宕机,别的节点(follower)会根据算法自动选举出新的leader来提供服务,各个节点之间的数据是相互备份的1.创建多个zookeeper节点在不同的服务器上安装zookeeper服务2.修改conf下的zoo.cfg文件在端口号后...
2018-12-09 10:48:41
229
原创 Linux设置zookeeper开机自启
1.创建目录在etc/systemd/system目录下创建zookeeper.service文件,该文件文件名可以随便起,后缀.service不可改变2.在文件内编写[Unit]Description=Zookeeper-2181After=network.target[Service]Type=forkingEnvironment=ZOO_LOG_DIR=/usr/local...
2018-12-09 10:36:56
585
原创 使用dubbo时使用Zookeeper消费者调用服务时
报错com.alibaba.dubbo.rpc.RpcException: No provider available from registry是因为在消费方由于接口的路径与提供方路径不同导致,如在提供方中接口路径为<dubbo:service interface="cn.demoService.DemoService" ref="demoService" />那么在消费方接口...
2018-12-06 18:20:31
1140
原创 缓存整个页面到redis,到磁盘
在项目中可以缓存整个页面来提高响应速度,如将首页存到缓存中,需要新建类继承HttpServletResponseWrapper类来实现对响应的静态页面的获取还需要配置过滤器来拦截页面响应,在拦截器中过滤要拦截的页面,如果该页面存在于缓存中就从缓存中取,如果没有就将页面从后台获取,并存到缓存中创建的MyResponseWrapper类import java.io.CharArrayWriter...
2018-12-06 15:10:06
2624
原创 Redis作为缓存实现工具类
使用Redis作为缓存对象,常用的存储格式为字符串,所以在存储缓存时,将对象转为字符串存储.由于存的时候为字符串,所以取出的也为json字符串.此工具类在设值时只需要将key与对象传入即可取值时只需要将key与要取的对象类型传入即可public class CacheUtilImpl implements CacheUtil { private Jedis jedis = JedisUti...
2018-12-05 19:11:52
530
原创 Redis开启远程连接
将配置文件redis.conf中的bind=ip地址注释掉然后在本地连接时只需要将连接的地址改为远程的ip地址即可如果还是无法连接,还需要将远程redis中配置文件中的protected-mode改为no...
2018-12-05 11:43:25
255
原创 将Redis安装到Linux
1.将Redis压缩包上传到Linux使用rz命令,上传文件需要安装文件上传工具,上传之后解压文件2.安装gcc编译软件使用命令yum install gcc如果不是纯净版镜像则不需要下载3.安装Redis进入redis解压后的目录实行命令make MALLOC=libc来安装Redis4.启动Redis启动之前可以进入redis的配置文件redis.conf对redis进行修...
2018-12-05 11:04:33
450
原创 Redis连接池工具类
使用连接池需要导包commons-pool2-2.3.jarimport redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public class JedisUtil { private static JedisPo...
2018-12-05 10:42:41
253
原创 Redis写入和读取对象数据
Redis由于存入的数据类型有限,一般主要为字符串,通过key-value来存储数据,那么怎么通过Redis来写入和读取对象信息呢写入数据1.json方式该方式使用Gson工具把对象转为字符串 static void write(){ //创建连接Redis的对象 Jedis jedis = new Jedis("localhost",6379); //设置...
2018-12-04 17:26:45
14891
原创 使用nexus deploy项目到私服时报 Return code is: 401, ReasonPhrase: Unauthorized
查看setting中 &lt;server&gt; &lt;id&gt;maven-release&lt;/id&gt; &lt;username&gt;admin&lt;/username&gt; &lt;password&gt;admin123&lt;/
2018-12-04 16:37:18
1152
原创 Redis非关系型数据库
Redis数据库主要使用key-value方式存储数据,类似于java中的hashmap,由于存储方式,所以读取速度快此数据库不支持sql语句,可以进行数据持久化,所以一般用来做缓存以windows版本为例1.解压数据库文件2.修改解压后文件下的redis.windows.conf配置文件,可以修改端口号以及密码等3.启动服务器端,在解压后的文件夹中进入命令行界面,按住shift不送然后...
2018-12-04 14:57:59
302
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人