自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

灰太狼

狼性的成长,野心的膨胀

  • 博客(285)
  • 资源 (18)
  • 收藏
  • 关注

原创 解决vue运行报错:npm ERR! my-project@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webp

1.vue环境:2.按照vue初始化项目教程1.vue init webpack my-project2.npm install3.npm run dev结果报错:解决方法:怀疑是npm下载问题,使用cnpm可以运行成功。npm install -g cnpm --registry=https://registry.npm.taobao.orgcnpm installcnpm run dev注:如果还是不行,到目录下把node_modules直接删除,再.

2021-06-06 17:57:23 5252 1

原创 mybatis源码解读:session包

​session包是整个mybatis应用的对外接口包。1.SqlSession及其相关类1.1 SqlSession的生成链在进行查询操作时,只需要和SqlSession对象打交道,而SqlSession对象是由SqlSessionFactory生产出来的,而SqlSessionFactory又是由SqlSessionFactoryBuilder创建的。public class SqlSessionFactoryBuilder { public SqlSessionFactory

2021-02-14 19:55:49 603 2

原创 mybatis源码解读:executor包(错误上下文)

ErrorContext类是一个错误上下文,能够提前将一些背景信息保存下来。这样在真正发生错误时,便能将这些背景信息提供处理,进而给我们的错误排查带来便利。public class ErrorContext { // 获得当前操作系统的换行符 private static final String LINE_SEPARATOR = System.getProperty("line.separator","\n"); // 将自身存储进ThreadLocal,从而进行线程间的隔离 pr

2021-02-10 20:29:28 188

原创 mybatis源码解读:executor包(执行器功能)

executor包中的各个子包提供的功能,最终这些功能都由Executor接口及其实现类共同对外提供服务。Executor接口基于以下方法可以完成增,删,改查以及事务处理等操作。事实上,mybatis中的所有数据库操作是通过调用这些方法实现的。public interface Executor { ResultHandler NO_RESULT_HANDLER = null; // 数据更新操作,其中数据的增加、删除、更新均可由该方法实现 int update(MappedS...

2021-02-09 20:40:59 260 2

原创 mybatis源码解读:executor包(结果处理功能)

欢迎关注本人公众号:mybatis查询结果的处理需要完成的步骤有:1.处理结果映射中的嵌套映射等逻辑2.根据映射关系,生成结果对象3.根据数据库查询记录对结果对象的属性进行赋值4.将结果对象汇总为List,Map,Cursor等形式。1.结果处理功能其中executor包中的result子包将负责完成"将结果对象汇总为List,Map,Cursor等形式"的简单功能的一部分。result子包中主要有3个类:DefaultResultContext类、Default.

2021-01-31 22:10:34 252

原创 mybatis源码解读:executor包(参数处理功能)

欢迎关注本人公众号:sql语句中的参数赋值是有由executor包中的parameter子包完成的。parameter子包其实只有一个parameterHandler接口,它定义了2个方法:public interface ParameterHandler {​ Object getParameterObject();​ void setParameters(PreparedStatement ps) throws SQLException;​}​Parameter.

2021-01-24 21:00:31 234

原创 mybatis源码解读:executor包(语句处理功能)

欢迎关注本人公众号:1.mybatis对多语句类型的支持在mybatis映射文件中传参数,主要用到#{} 或者 ${}.#{}:表示使用这种符号的变量会以预编译的形式赋值到sql片段中。${}:表示使用这种符号的变量会以字符串的形式直接插到sql片段中。mybatis中支持三种语句类型,不同语句类型支持的变量符号不同。mybatis的三种类型如下: STATEMENT:这种语句类型中,只会对sql片段进行简单的字符串拼接。只支持使用${}. PREPARED:这.

2021-01-13 22:15:05 143

原创 Mybatis源码解读:executor包(懒加载功能)

欢迎关注本人公众号:1.懒加载功能的使用要使用懒加载,需要在mybatis的配置文件中启用该功能。<setting><settingname="lazyLoadingEnable"value="true"/></setting>mybatis的懒加载的实现由executor包的loader子包支持。2.懒加载功能的实现2.1代理工厂ProxyFactory是创建代理类的工厂接口,其中的setProperties方法用来对工厂进行...

2021-01-06 22:09:43 209

原创 Mybatis源码解读:executor包(主键自增功能)

欢迎关注本人公众号:​executor执行器包作为mybatis的核心将其他各个包凝聚在一起,会调用配置解析包解析出配置信息,会依赖基础包提供的基础功能,最终executor包将所有的操作串连在一起,通过session包向外暴露出一套完整的服务。1.主键自增功能在进行数据插入操作时,经常需要一个自增生成的主键编号,这既能保证主键的唯一性, 又能保证主键的连续性。mybatis的executor包中的keygen子包提供主键自增功能。1.主键自增的配置与生效mybat...

2020-12-26 12:18:15 377

原创 mybatis源码解读:transaction包(事务管理功能)

欢迎关注本人公众号:mybatis的transaction包是负责进行事务管理的包,该包内包含2个子包:jdbc子包中包含基于jdbc进行事务管理的类,managed子包中包含基于容器进行事务管理的类。1.事务概述事务即数据库事务,是数据库执行过程中的一个逻辑单元。事务有以下4个特性: Atomicity(原子性):事务必须被作为一个整体执行,要么全部执行, 要么全部不执行。不允许只执行其中的一部分。 Consistency(一致性):事务应该保证数据库从一致性状态...

2020-12-20 18:19:58 1018

原创 mybatis源码解读:cursor包

欢迎关注本人公众号:1.游标的使用​在使用mybatis进行数据库查询时,经常会查询到大量的结果。游标可以解决处理大量数据时不是一次读入整个结果集,而是逐一读入和处理结果,这样可以减少对内存的占用。在mybatis中使用游标进行查询非常简单,映射文件不需要任何的变动,只需要在映射接口中标明返回值类型是Cursor。Cursor<User> selectAll();2.游标接口cursor包中源码非常简单,只有一个cursor接口和默认的实现类Defa..

2020-12-20 18:17:57 3165

原创 mybatis源码解读:cache包(缓存机制)

1.缓存机制在进行源码阅读时,通常可以以包为单位进行,因为包本身就是具有一定结构、功能的类的集合,但是,也总会有一些功能相对复杂,会横跨多个包。因此以功能为主线一次阅读多个包中的源码是必要的,能帮助我们理清功能实现。mybatis基于cache包中提供的缓存实现了两级缓存机制。1.一级缓存mybatis的一级缓存又叫本地缓存,与它相关的配置项有2个。1.在配置文件XML的setting节点,可选项有session与statement,分别对应了一次会话和一条语句,一级缓存的默认范围是se

2020-12-16 22:17:12 394

原创 mybatis源码解读:cache包(缓存基本功能)

1.简述:Mybatis每秒可能要处理数万条数据库查询请求,而这些请求可能是重复的。缓存能够减低数据库查询次数,提升mybatis的性能。mybatis缓存使得每次数据库查询请求都会优先经过缓存系统的过滤,只有没有命中缓存的情况下才会去查询数据库。cache包就是mybatis缓存能力的提供者。2.cache包结构与cache包接口cache包是典型的装饰器模式应用案例,在impl包存放实现类,在decorators包中存放了众多的装饰器类。而cache接口是实现类和装饰器类的共同接口。

2020-12-13 17:13:26 735 1

原创 解决was not registered for synchronization because synchronization is not active

项目采用mybatis, 多数据源连接。在线上服务器调用接口时发现执行不了sql。报错:was not registered for synchronization because synchronization is not active排查发现原因是:该服务器被限制访问要连接的数据库解决方法:开放连接数据库的权限即可。我的座右铭:不会,我可以学;落后,我可以追赶;跌倒,我可以站起来;我一定行。...

2020-11-19 13:17:56 57334 11

原创 解决ssm项目启动报错:Logging initialized using ‘class org.apache.ibatis.logging.stdout.StdOutImpl‘ adapter.

ssm项目启动一直卡在Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.一般出现这种错误的几种情况:1.项目启动连接数据库失败,请先检查下能打开数据库。我就错在这里。2.对应的sql语句的id有重复。3.标签缺少,或者标签有问题4.中英文切换导致有特殊字符...

2020-09-01 09:37:56 8408 1

原创 动态规划知识归纳

动态规划知识归纳:https://www.jianshu.com/p/16979ea1a497

2020-06-27 12:05:30 312

原创 Nginx的8个知识点

Nginx的8个知识点:https://www.jianshu.com/p/67569c90137d

2020-06-17 22:51:42 297

原创 Nginx的4大功能用途

Nginx的4大功能用途:https://www.jianshu.com/p/7f6cf6eae4e3

2020-06-17 22:50:46 382

原创 面试要点汇总

面试要点汇总:https://www.jianshu.com/p/4520c87050fc

2020-06-16 20:36:25 227

原创 60 个 Redis 面试题

60 个 Redis 面试题https://www.jianshu.com/p/b8df4daa097c

2020-06-16 20:31:47 278

原创 解决使用springcloud zuul出现Forwarding error错误

使用zuul进行网关过滤请求时出现Forwarding error错误:2019-04-21 12:39:29.332 INFO [service-zuul,5aadd031214b12da,5aadd031214b12da,false] 14644 --- [nio-7020-exec-3] com.cxh.study.platform.filter.MyFilter : POST ...

2019-04-21 13:22:26 13828 3

原创 springboot使用@SpringBootTest注解进行单元测试

概述@SpringBootTest注解是SpringBoot自1.4.0版本开始引入的一个用于测试的注解。基本用法如下:1.添加依赖:&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation...

2019-02-20 22:18:59 249123 7

原创 数据的物理分页和逻辑分页

       实现数据分页的方式可以自己手写sql或者借助mybatis分页插件或者其他插件达到分页的效果。但无论怎样实现分页功能,其实都涉及到物理分页和逻辑分页两个概念。所以简单理解下物理分页和逻辑分页:一 概述1.物理分页:物理分页依赖的是某一物理实体,这个物理实体就是数据库,比如MySQL数据库提供了limit关键字,程序只需要编写带有limit关键字的SQL语句,数据库返回的就...

2019-02-15 22:23:22 1032 1

原创 分布式学习平台之集成Eureka注册中心(2)

首先明白注册中心是什么?有什么用?微服务为什么需要注册中心?所以简单说下:注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用。在分布式学习平台之搭建springcloud分布式工程(1)的项目基础上集成Eureka注册中心。原项目结构:步骤:1.在study...

2019-02-07 20:29:54 378

原创 springmvc统一处理异常

系统中异常包括:编译时异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。在开发中,不管是dao层、service层还是controller层,都有可能抛出异常,在springmvc中,能将所有类型的异常处理从各处理过程解耦出来,既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护。主要总结一...

2019-01-30 10:16:34 615

原创 解决springmvc获取ajax发送DELETE或PUT请求时参数为NULL的情况

使用ajax发送type为put或者delete时,请求能到达后台,但后台springmvc无法获取参数,参数为null。比如:$.ajax({ type:'put', url:url, data:{version:version}, success:function(result){ if(result.statusCode==200){ window.l...

2019-01-30 09:29:09 2233

原创 在springmvc的配置文件中配置缓存报The prefix "cache" for element "cache:annotation-driven" is not bound.

在springmvc.xml的配置文件中加入缓存配置: &lt;!-- 缓存配置(两种) --&gt; &lt;!-- 启用缓存注解功能(请将其配置在Spring主配置文件中) --&gt; &lt;cache:annotation-driven cache-manager="cacheManager"/&gt; &lt;!-- Spring自己的基...

2019-01-16 16:09:18 1607

原创 分布式学习平台之搭建springcloud分布式工程(1)

工具:IDEAmaven:3.5jdk:1.8整个项目的目录结构:1.建立maven工程:2.在pom.xml引入依赖包:springcloud和springboot的依赖包存在版本对应关系,所以选择springcloud版本时请查看springcloud官网。注:把项目作为父工程,把packing改为pom。&lt;?xml version="1.0" ...

2019-01-13 21:12:34 377

原创 java通过org.apache.axis发送http请求调用c#写的webService短信接口

因为系统要用到发短信验证功能,是直接调用c#写的webService短信接口所以记录下如何去实现功能:代码:因为这个短信接口是xml格式的:POST /服务名.asmx HTTP/1.1 Host: 接口地址(x.x.x.x)(url :接口地址/服务名.asmx)Content-Type: text/xml; charset=utf-8Content-Length: le...

2018-11-19 19:24:36 2845

原创 java通过java.net.URL发送http请求调用.net写的webService接口

系统是用 java写的,但需要调用同事用.net写的一个webService接口。所以记录下java如何调用其他不同语言的接口的。代码:用到的工具类HttpUtil :package cn.com.comit.appointment.modules.wechat.utils;import java.io.BufferedReader;import java.io.ByteA...

2018-11-19 19:07:46 1064

原创 微信公众号开发之实现自定义微信公众号菜单和跳转第三方网页

自定义菜单创建接口:http请求方式:POST(请使用https协议)https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN自定义菜单查询接口:http请求方式:GEThttps://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCES...

2018-11-10 19:34:16 16746 4

原创 微信公众号开发之获取公众号的access_token

为啥要获取公众号的access_token?因为接下来要实现微信公众号的自定义菜单需要access_token,而且菜单的URl跳转第三方网页也要用到。一、access_token简介为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口、客服接口、获取用户信息接口、用户分组接口、群发接口等,开发者在调用这些接口时,都需要传入一个...

2018-11-10 19:07:21 28523 2

原创 微信公众号实现跟关注用户进行消息的交互功能(2)实现交互功能

一、解析微信服务器传来的消息因为微信服务器发送过来的是xml格式的消息,所以我们可以采用 开源框架dom4j去解析xml 。所用到的jar 包是:dom4j-1.6.1.jar  官网下载地址:http://www.dom4j.org/dom4j-1.6.1/二、将响应消息转换成xml返回给微信服务器如何将响应消息转换成xml返回的问题,这里我们将  采用开源框架xstream...

2018-11-10 18:57:55 4252

原创 微信公众号实现跟关注用户进行消息的交互功能(1)封装基本类

 微信公众号实现跟关注用户进行消息的交互功能,我们可以简单的理解:(1)首先,用户向微信服务器发送消息;(2)微信服务器接收到用户的消息处理之后,通过开发者配置的URL和Token 来找到第三方服务器,并以XML形式向第三方服务器发送消息。(3)第三方服务器获取这些消息之后,需要按照微信服务器传过来的XML的语言进行解析,获取到信息之后,根据用户的需求,提供服务,然后封装成XML数...

2018-11-10 18:45:01 1863

原创 微信公众号开发需要准备的一些资料以及如何搭建一个本地测试服务环境

一、账号准备申请一个微信号(下载微信客户端,手机注册,或是qq注册)申请一个微信公众号 (去申请),申请什么样的微信公众号,请参照 微信详细注册步骤。申请一个微信公众平台接口测试帐号 (去申请)二、服务器准备因为微信公众号只能连接到外网地址,是不能直接访问到本地localhost的项目地址进行测试的。1.方式一:买的云主机。推荐 爱名网2.方式二:BAE(注册百度账号,...

2018-11-10 16:48:24 2069 1

原创 合并 k 个排序链表

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[  1-&gt;4-&gt;5,  1-&gt;3-&gt;4,  2-&gt;6]输出: 1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4-&gt;5-&gt;6思路:就是合并排序,把每个链表看成数组的一个数,再两两比较,排序,最后返回排序合并的结果。代码:pac...

2018-11-04 23:18:57 465

原创 无重复字符的最长子串

给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个子串,"pwke" 是 子序列  而不是子串。 代码实现:

2018-10-29 23:19:10 142

原创 把本地项目上传到GitHub

把本地项目上传到GitHub,这样方便我们管理自己的代码,也不怕哪天电脑重装把代码弄没了。1.先安装git 2.我们需要先创建一个本地的版本库(其实也就是一个文件夹)。 可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建。通过命令git init把这个文件夹变成Git可管理的仓库 这时候你就可以把你的项目粘贴到这个本地Git仓库里面(粘贴后你可以...

2018-10-07 11:56:05 1078

原创 ssm整合rabbitmq消息队列的简单使用案例

项目:ssm(spring+springmvc+mybatis)编译工具:eclipse消息队列:rabbitmq 1.在pom.xml添加rabbitmq依赖:&lt;!--rabbitmq依赖 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.amqp&...

2018-10-06 21:09:53 5291 6

原创 Win10安装RabbitMQ

最近想学习使用消息队列RabbitMQ,所以要想下载RabbitMQ。第一步:下载并安装erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。 下载地址:http://www.erlang.org/downloads 根据电脑位数选择erlang下载版本。 下载完直接双击进行安装:  安装完后...

2018-10-03 23:48:19 2349

实战项目之后台管理系统

实战项目之后台管理系统的详细说明博客地址:https://cxhzt.blog.csdn.net/article/details/122361696

2022-01-07

springboot实现上传图片添加水印

springboot实现上传图片添加水印

2021-12-21

springboot整合Oauth2,GateWay实现网关登录授权验证

springboot整合Oauth2,GateWay实现网关登录授权验证

2021-12-14

springboot整合gateway实现网关功能

springboot整合gateway实现网关功能

2021-12-13

springboot整合stream使用rabbitmq作为消息中间件

springboot整合stream使用rabbitmq作为消息中间件

2021-12-13

Spring cloud Oauth2使用授权码模式实现登录验证授权

Spring cloud Oauth2使用授权码模式实现登录验证授权

2021-12-10

Spring cloud Oauth2的密码模式使用JWT方式实现登录验证授权

Spring cloud Oauth2的密码模式使用JWT方式实现登录验证授权

2021-12-10

Spring cloud Oauth2的密码模式数据库方式实现登录授权验证

Spring cloud Oauth2的密码模式数据库方式实现登录授权验证

2021-12-09

Spring cloud Oauth2的密码模式内存方式实现登录授权验证

Spring cloud Oauth2的密码模式内存方式实现登录授权验证

2021-12-09

java实现滑动验证码

java实现滑动验证码

2021-12-08

springboot整合quartz,实现数据库方式执行定时任务

springboot整合quartz,实现数据库方式执行定时任务。把定时任务信息存进数据库,项目启动后自动执行定时任务。

2021-11-19

java实现手机扫描二维码后网站跳转新页面

java实现手机扫描二维码后网站跳转新页面,提供zxing和hutools的方式实现二维码的生成,动态刷新,验证跳转功能。

2021-10-21

java通过sftp模式实现FTP的文件上传下载删除功能

java通过sftp模式实现FTP的文件上传下载删除功能

2021-10-09

springboot实现接口签名

为了保证数据传输的安全性,跟其他系统进行数据交互时,双方应该约定好密钥,把数据进行加密,接口签名,这样双方调用接口时,验证接口签名一致时就表明数据传输过程中没有被修改。

2021-06-06

file_sys(pdfjs).rar

springboot使用pdfjs预览office文件,实现预览文件,兼容浏览器

2021-06-06

file_sys.rar

springboot使用aspose预览office文件,实现文件预览doc,docx, xls,xlsx,ppt,pptx,pdf等各种文件

2021-06-06

java实现敏感词过滤

用java实现根据用户传进来的话语是否包含敏感词,如果包含敏感词用*来替代输出。

2018-08-29

android实现风蓝记事本

android实现记事本增删改查,换皮肤,排序,退出等功能,编写工具eclipse

2018-05-20

空空如也

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

TA关注的人

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