自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mybatis逻辑分页与物理分页优缺点

一、逻辑分页:1.mybatis自带的分页RowBounds;Java: RowBounds rb=new RowBounds(offset, limit); //offset(从多少条开始);limit(获取多少条) SqlSession sqlSession=sqlSessionFactory.openSession();//sqlSessionFactory通过读取mybatis配置文件的输入流然后通过new SqlSeesionFactoryBu...

2021-10-20 10:50:46 42

原创 JAVA字符串格式化-String.format()的使用

一、常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数

2021-07-28 15:03:42 38

原创 springcloud web报404接口feign错误

1.feign.FeignException:status:404 reading:lifeXXXFeign#queryXXXList(EtRexxxBody):content.......排查原因:1>gateway网关未添加模块配置2>web或服务product打包时feign未打包进去

2021-07-16 16:02:02 34

转载 功能实现:spring cloud config配置中心自定义存储方式

Spring Cloud Config配置中心可以使用git,svn以及数据库方式实现配置存储等等,分别在配置文件中对应spring.profiles.active定义入口实现EnvironmentRepository接口。比方说spring.cloud.config.server=jdbc的时候,通过JdbcEnvironmentRepository实现接口,spring.cloud.config.server=svn,通过SvnKitEnvironmentRepository实现接口。具体可以参考这

2021-07-13 20:50:47 28

转载 SpringCloud中Feign服务调用请求方式及参数总结

前言最近做微服务架构的项目,在用feign来进行服务间的调用。在互调的过程中,难免出现问题,根据错误总结了一下,主要是请求方式的错误和接参数的错误造成的。在此进行一下总结记录。以下通过分为三种情况说明,无参数,单参数,多参数。每种情况再分get和post两种请求方式进行说明。这样的话,6种情况涵盖了feign调用的所有情况。有个建议就是为了保证不必要的麻烦,在写feign接口的时候,与我们的映射方法保持绝对一致,同时请求方式,请求参数注解也都不偷懒的写上。如果遵循这种规范,可以避开90%的调用错误。

2021-07-09 10:55:53 93

转载 spring boot--使用异步请求,提高系统的吞吐量

前言:在我们的实际生产中,常常会遇到下面的这种情况,某个请求非常耗时(大约5s返回),当大量的访问该请求的时候,再请求其他服务时,会造成没有连接使用的情况,造成这种现象的主要原因是,我们的容器(tomcat)中线程的数量是一定的,例如500个,当这500个线程都用来请求服务的时候,再有请求进来,就没有多余的连接可用了,只能拒绝连接。要是我们在请求耗时服务的时候,能够异步请求(请求到controller中时,则容器线程直接返回,然后使用系统内部的线程来执行耗时的服务,等到服务有返回的时候,再将请求返回给客

2021-02-21 22:57:00 80

转载 玩转springboot2.x之异步调用@Async

0、序言我们在正常开发中一般都是通过同步的方式进行处理的,但是有时候执行多个任务并不是都需要一起执行完才行,采取异步的方式可以有效提升一个请求响应的时间。例如我们进行用户注册,如果是通过邮箱注册一般会发送激活邮件,系统添加用户信息到数据库和发送邮件这2个任务完全可以分开来做,这样用户可以很快接受到注册成功的消息。接下来就是 SpringBoot 异步编程具体操作。SpringBoot 异步编程拢共分2步。1、在SpringBoot 启动类上声明@EnableAsync具体...

2021-02-20 22:24:39 43

转载 SpringBoot:使用 @Lazy 注解懒加载

为什么需要懒加载?我们知道,在 SpringBoot 应用程序启动的时候,会实例化一些对象加入到 IOC 容器里边,这个过程是非常耗时的,那我们想要减少这个耗时的过程就需要 @Lazy 注解对象加入容器的时机如下代码package com.startdusk.forgot.service;import org.springframework.stereotype.Component;@Servicepublic class LazyService { public Laz

2021-02-20 21:59:32 410

转载 rank() over,dense_rank() over,row_number() over的区别

rank() over,dense_rank() over,row_number() over的区别1.rank() over:查出指定条件后的进行排名。特点是,加入是对学生排名,使用这个函数,成绩相同的两名是并列,下一位同学空出所占的名次。select name,subject,score,rank() over(partition by subject order by score desc) rankfrom student_score;2.dense_rank() ove..

2020-09-11 10:53:47 62

转载 mybatis3中@SelectProvider的使用技巧

mybatis3中增加了使用注解来配置Mapper的新特性,本篇文章主要介绍其中几个@Provider的使用方式,他们是:@SelectProvider、@UpdateProvider、@InsertProvider和@DeleteProvider。1.使用@SelectProvider@SelectProvider是声明在方法基本上的,这个方法定义在Mapper对应的的interface上。 public interface UserMapper { @SelectProvi.

2020-09-10 17:10:29 124

转载 Mybatis @SelectProvider注解详解

@SelectProvider(type=xxxx.class,method=”xxxx”)个人理解: 用自定义的provider类构造SQL语句1属性详解:type 属性用于指定获取sql语句的指定类method 属性用于指定类中要执行获取sql语句的方法例1(单个参数):mapper中 @SelectProvider(type=BaseUserProvider.class,method="selectUserById") public BaseUs.

2020-09-10 16:45:50 683

转载 【Mybatis】Mybatis中的逻辑分路:case-when-then-else-end和hoose-when-otherwise

一、问题在java代码中,基本的判断逻辑分路可以使用if,else if,else;但是如果在Mybatis中是否有对应的逻辑判断分路,来帮助我们在Mybatis的sql里,做逻辑判断?二、分析Mybatis中有,下面介绍两种,一是case-when-then-else-end;另一种是choose-then-otherwise,后者形式如下:(Mybatis只有if标签,没有else标签)<choose> <when> </when>

2020-09-08 15:08:30 745

转载 java通过报文交换数据

1.交互模式交互模式为:请求/响应交互模式。需要数据一方作为请求方,提供数据一方作为响应方。请求方发送一个带有参数的报文到响应方,响应方根据请求ip地址、报文中的参数等判断请求是否合法,如果不合法,返回包含错误信息报文,如果合法,则根据请求报文中的参数获取相应的数据,然后组装成响应报文发送回请求方。请求方可以是java程序、.net程序、php程序等,响应方是一个servlet。为了简单起见,一个servlet对应一个接口。2.接口接口的请求和响应采用 XML 作为具体业务报文的载体,请求为

2020-07-25 22:26:30 263

原创 StringBuilder和StringBuffer哪个线程安全?执行效率高?

StringBuilder是线程不安全的,执行效率高StringBuffer是线程安全的,加了synchronized同步关键字,执行效率高

2020-07-02 10:56:12 836

转载 搭建SpringCloud项目,并实现自动化部署

前一阵子一直在忙着做项目,最近有空,把项目中用到的SpringBoot微服务相关架构再梳理一遍。项目资源:https://github.com/sunroyi/SpringCloud主要分为以下几步:(1)搭建SpringBootService,这里是各个微服务的业务逻辑。(这里搭建了2个Service,用来测试熔断)(2)搭建SpringBootEureka,用来发现服务。(3)搭建SpringBootConfig,用于动态维护配置文件。(4)搭建SpringBootConsume

2020-07-01 16:28:17 870

转载 spring cloud 常见面试题 来理解微服务(通俗易懂)

为什么要谈这些理论知识呢 理论知识 =面试时候的谈资 !!!你只有进去公司才有资格去做一个码农ok话不多说经历如此漫长的互联网发展 以本人的拙见软件开发粗略的分为三个阶段1 单机版 也就是说把要做的所有应用程序放置在一个 项目中最后将之后的war或者jar 部署在你的服务器 这种模式随着发展 终将会被...

2020-07-01 14:04:34 270

转载 谈谈CountDownLatch和CyclicBarrier

Java中CountDownLatch和CyclicBarrier都是用来做多线程同步的。下面分析一下他们功能的异同。CountDownLatchCountDownLatch基于AQS(同步器AbstractQueueSynchronized),CountDownLatch中有一个内部类Sync,Sync继承自AbstractQueuedSynchronizer。我们先看一个CountDownLatch的例子,然后再具体分析源码。一个CountDownLatch例子import j.

2020-06-15 15:58:53 107

转载 SpringBoot+RabbitMQ启动出现报错问题总结

1.SpringBoot中使用RabbitMQ,解决无法连接AmqpConnectException: java.net.ConnectException: Connection timed out:环境:RabbitMQ是安装在虚拟机中Centos7版本:RabbitMQ 3.5.7SpringBoot 2.1.5检查: 先检查端口,15672是插件的端口,在SpringBoot的配置文件中,应该使用5672 在linux服务器注意开启这两个端口。 登录用

2020-06-09 11:35:24 2041

转载 centos7.2安装rabbitmq和宝塔

centos7.2安装rabbitmq教程环境: centos7.2rabbitmq依赖erlang,需要先安装erlang1 安装erlangrpm -Uvh https://download.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmyum -y install erlang2 安装RabbitMqwget http://www.rabbitmq.com/releases/rabbitmq-server/v3..

2020-06-08 14:55:28 445

原创 HTML页面一键分享到QQ空间、QQ好友、新浪微博、微信代码

<div class="bshare-custom"><a title="分享到QQ空间" class="bshare-qzone"></a><a title="分享到新浪微博" class="bshare-sinaminiblog"></a><a title="分享到人人网" class="bshare-renren"></a><a title="分享到腾讯微博" class="bshare-qqmb">&lt

2020-06-05 17:22:06 4694

原创 服务器学习文档

1.服务器学习文档,包括centos,ubuntu,mac,window,myql,nginx,linux,linux基本操作,其他问题,安全问题,redis,日志分析,服务器优化,服务器安全,ThinkPhp编程,PHP,攻击,文档整理的很好,记录一下,学习的时候方便查服务器文档...

2020-05-15 11:37:01 117

原创 Linux15个付费漏洞修复

RHSA-2018:1454-关键: dhcp 安全更新 RHSA-2018:3854-低危: ntp 安全更新 RHSA-2018:1777-重要: procps 安全更新 RHSA-2018:2846-重要: 内核 安全和BUG修复更新 RHSA-2019:0415-重要: 内核 安全和BUG修复更新 RHSA-2019:1169-重要: 内核 安全和BUG修复更新 RHSA-2019:0711-低危: openssh 安全更新 ..

2020-05-15 10:54:06 159

转载 ECS云服务器 2019 LUNIX漏洞修复集合(陆续更新中)

最近云服务器漏洞越来越多了,不管大小服务商对于运营者来说都搞得心惊胆颤的,找资料又不好找,百码云即本站站长特意把一个常用的修复分享出来,以供大家参考使用!1、RHSA-2018:3408-重要: git 安全更新修复步骤:1、进入实例列表》远程连接2、输入账号密码(即:阿里云创建时你设置的初始账号密码)注:输入密码时,远程连接上是不会显示密码的,输完后直接回车即可3、修复更新命令: 1 2 3 yum update git

2020-05-15 09:31:33 250

原创 php websocket远程调用curl查询数据库

<!DOCTYPE html><html><head> <title>简易聊天Demo</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1, maximum-scale=1, user-scalable=no"> <link href="ht.

2020-05-14 16:31:37 501

转载 PHP使用CURL详解

curl是PHP的一个扩展,利用该扩展可以实现服务器之间的数据或文件传输也就是说curl就是一个工具,用来做服务器之间数据、文件传输的工具用来采集网络中的html网页文件、其他服务器提供接口数据等开启curl扩展(1)在php.ini里面开启curl这个扩展(2)将PHP的安装路径保存到环境变量的系统变量中(环境变量之间的分隔符是英文的分号)(3)重启apache服务器(4)重启计算机curl的一些常用配置项(1)通过CURLOPT_RETUR...

2020-05-14 14:36:57 118

原创 Typora中文版怎么用

Typora中文版是一款非常好用简洁的文档markdown编辑器,Typora汉化版可以你快速编程markdown语法,将对应的输入文字自动排版,有序的将代码行云流水的在屏幕上。一键进行插入图像、代码、表格、文章编辑等等,多个编辑功能让你快速完成工作。Typora中文版说明  你只需在Typora打字时输入正确的 Markdown 语法标记 (如 ##二级标题、 **粗体**),Typora中文版就像触发了键盘快捷键一样,将对应的文字会即时转变为它们应该成为的样子。  斜体、加粗、插入图片、引用、

2020-05-13 23:59:45 884

原创 php判断两个给定日期是否在同一周,是否在同一月

//判断两个给定日期是否在同一周function getSameWeek($pretime,$aftertime){ $flag = false;//默认不是同一周 $afweek = date('w',$aftertime);//当前是星期几 $mintime = $aftertime - $afweek * 3600*24;//一周开始时间 $maxtime = $aftertime + (7-$afweek)*3600*24;//一周结束时间 if ( $p.

2020-05-13 14:09:22 460

转载 如何恢复误删除的数据库

Mysql数据库被误删除了怎么恢复,不要着急,耐心看下面解决办法。本方法适用于Mysql数据库开启binlog日志,如果没有开启,抱歉,不需要往下看了。如何看数据库有没有看起开启binlog日志,查看配置文件或者执行# cat /etc/my.cnflog_bin=mysql-bin# mysql -uroot -pEnter password:mysql> show variables like'log_bin%';+----------------------...

2020-05-13 09:21:04 2985

原创 phpcms api接口开发

所有的编程语言都是从数据库的CRUD开始,这是最基础的,只有CRUD学会了,才可以考虑开发逻辑,把CRUD做到极致,考虑到程序面临的各种问题,才能不断提升自己的开发功能。现在,就介绍一下Phpcms面向接口的开发,最简单的CRUD。<?php//defined('IN_PHPCMS') or exit('No permission resources.');这里可以不用...

2020-04-23 09:22:32 831

原创 php isset()和empty()用法

变量 empty is_null isset $a=”” true false true $a=null true true false var $a true true false $a=array() true false true $a=false true false...

2020-04-22 11:36:53 106

转载 JAVA集合详解

1.集合和数组的区别1.长度区别:数组固定,集合可变2.内容区别:数组可以是基本类型,也可以是引用类型;集合只能是引用类型3.元素内容:数组只能存储同一类型,集合可以存储不同内容(一般也是存储同一类型)2.Collection集合的方法3.常用集合分类Collection 接口的接口 对象的集合(单列集合)├——-List 接口:元素按进入先后有序保存,可重复│...

2020-04-21 10:05:12 119

原创 PHPCMS数组操作

1.is_array()函数的作用:检测变量是否是一个数组,如图所示:语法:boolean is_array(mixed $var);参数说明:$var:要检测的变量返回值:如果是数组,返回TRUE;不是返回FALSE.定义一个数组 $colors,代码:$colors = array("red", "blue", "green");使用 is_array() 和...

2020-04-20 14:04:00 339

原创 phpcmsV9原生数据库操作写法

1.phpcms对数据库的操作进行了封装,所有有对数据库操作的.php文件都继承了数据模型基类model.class.php2.phpcms query查询如何接收返回值php接收query返回值是用mysql_fetch_array()函数;但phpcms却不能用,phpcms有专用的方法接收返回值。代码如下:方法参数@param $query(mysql_query...

2020-04-20 11:52:10 413

原创 Mybatis占位符 #与占位符$区别

#{}速度快,能防止sql注入,是占位符方式,先预编译,然后填充参数,字符串格式,用户名=(___),参数只是下划线上的内容${}是直接拼接到语句上,这种方式需要自己拼括号和参数,但是也可以拼接想执行的任何语句,也就是传说中的sql注入详情如下在MyBatis中使用参数进行SQL拼装经常会使用到#{var}和${var}两种参数的设置方式。下面是两种方式的不用之处:#{var}使用预编译的...

2020-04-20 10:09:00 375

转载 什么是事务?事务的四个特性以及事务的隔离级别

什么是事务  事务是指是程序中一系列严密的逻辑操作,而且所有操作必须全部成功完成,否则在每个操作中所作的所有更改都会被撤消。可以通俗理解为:就是把多件事情当做一件事情来处理,好比大家同在一条船上,要活一起活,要完一起完●原子性(Atomicity):操作这些指令时,要么全部执行成功,要么全部不执行。只要其中一个指令执行失败,所有的指令都执行失败,数据进行回滚,回到执行指令前的数据状态。...

2020-04-20 09:46:27 144

原创 数据库四种隔离级别及乐观锁和悲观锁

1.数据库的四种隔离级别1>读未提交【未授权读】允许脏读取,但不允许更新丢失。如过一个事务开始写数据,则另外一个事务不允许通同时进行写操作,但允许其他事务读此行数据。该隔离级别可以通过‘排他写锁’实现。2>读提交【授权读取】允许不可重复读取,但不允许脏读取。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行。可以通过“瞬间共享读锁”和...

2020-04-16 17:05:25 339

转载 源码解读 Duplicate entry '' for key 'PRIMARY' 坑

在kafka发送消息到另一个service,service执行sql, 首次或前2次执行正常C操作,但后续2次或以后的操作必然发生以下错误:### Error updating database.Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry...

2020-04-15 16:06:05 1203

原创 springboot项目工程单元测试如何搭建

1、添加Maven依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.6.RELEASE</version>...

2020-04-15 15:13:48 1464

原创 微擎1.5.4任意用户删除漏洞涉及文件web/source/founder/display.ctrl.php

阿里云盾提示,微擎1.5.4任意用户删除漏洞,代码权限控制存在漏洞导致攻击者可任意删除用户。涉及文件web/source/founder/display.ctrl.php修复方案查找一下代码$founders = explode(',', $_W['config']['setting']['founder']);在以上代码下面增加如下代码$identity = u...

2020-04-15 09:53:41 811

原创 MSSQL数据类型-整数数据类型(bigint、int、smallint、tinyint)

整数型数据包括bigint型、int型、bit、smallint型和tinyint型。bigint型数据的存储大小为8个字节,共64位。其中63位用于表示数值的大小,1位用于表示符号。bigint型数据可以存储的数值范围是-263~263-1,即 -9 223 372 036 854 775 808 ~9 223 372 036 854 775 807。 在应用中除非明确说明,否则那些接受...

2020-04-14 13:52:42 1353

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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