<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[theRengar的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/theRengar</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; theRengar]]></copyright><item><title><![CDATA[Column ‘PRODUCT_NAME‘ in field list is ambiguous]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/120215155</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/120215155</guid><author>theRengar</author><pubDate>Fri, 10 Sep 2021 09:38:47 +0800</pubDate><description><![CDATA[此问题出现在多表查询中，这个是由于参数’PROJECT_NAME’ 存在多表中，没有声明是哪一个表的参数；

]]></description><category></category></item><item><title><![CDATA[mysql 1136错误 Column count doesn‘t match value count at row 1]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/119995742</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/119995742</guid><author>theRengar</author><pubDate>Mon, 30 Aug 2021 14:02:36 +0800</pubDate><description><![CDATA[网上说是列的数量不批配，我数了很多遍都是一样的，最后发现是用了中文输入法，逗号和占位符？后是中文输入法状态下输入的，记录一下不再犯同样的错误。
mysql错误:Column count doesn’t match value count at row 1
mysql错误:Column count doesn’t match value count at row 1

...]]></description><category></category></item><item><title><![CDATA[nacos下载以及配置持久化]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/119638764</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/119638764</guid><author>theRengar</author><pubDate>Thu, 12 Aug 2021 11:17:34 +0800</pubDate><description><![CDATA[1、什么是nacos
Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集，帮助您快速实现动态服务发现、服务配置、服务元数据及流且管理。
Nacos帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以“服务’‘为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。
2、nacos下载
你可以选择去nacos官网进行下载 https://github.com/alibaba/nacos/releases/tag/2.0.3

但是官网文件是放在githu]]></description><category></category></item><item><title><![CDATA[windows系统如何查看端口被占用、杀进程]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/119638176</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/119638176</guid><author>theRengar</author><pubDate>Thu, 12 Aug 2021 11:00:55 +0800</pubDate><description><![CDATA[在平时开发中，有时会遇到某一个端口号被占用的情况，最常用的方法就是改端口号运行，但是有些端口号是不好改的，比如博主在启动nacos时，就一直报8848端口号被占用，这时就需找出端口号所占用的进程，找出来，并停止。一起来看下步骤吧~~
1、首先启动windows命令窗口输入cmd

2、进入windows命令窗口后，输入netstat -ano | findstr “端口号” 就可以看到这个端口被哪个应用占用

3、找到对应的进程id之后，就可以通过id查找相应的进程名称。使用 tasklist | find]]></description><category></category></item><item><title><![CDATA[ElasticSearch接收rabbitmq消息队列的消息]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118999433</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118999433</guid><author>theRengar</author><pubDate>Thu, 22 Jul 2021 15:06:53 +0800</pubDate><description><![CDATA[大家先看一下ELK通过rabbitmq消息队列保存日志的结构图：

此种架构引入了消息队列机制，位于各个节点上的Logstash Agent先将数据/日志传递给RabbitMQ（或者Redis），并将队列中消息或数据间接传递给Logstash，Logstash过滤、分析后将数据传递给Elasticsearch存储。最后由Kibana将日志和数据呈现给用户。因为引入了RabbitMQ（或者Redis）,所以即使远端Logstash server因故障停止运行，数据将会先被存储下来，从而避免数据丢失。
那我们来]]></description><category></category></item><item><title><![CDATA[ES配置即整合项目]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118970818</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118970818</guid><author>theRengar</author><pubDate>Wed, 21 Jul 2021 17:17:18 +0800</pubDate><description><![CDATA[ELK日志分析平台系统windows环境搭建和基本使用
ELK（ElasticSearch，Logstash，Kibana）三者组合在一起就可以搭建实时的日志分析平台
LogStash：主要收集、过滤日志信息并将其存储，所以主要用来提供信息。
ElasticSearch是一个基于Lucene的开源分布式搜索引擎，主要用来进行信息搜索。
Kibana为LogStash和ElasticSearch提供了一个可视化的平台。
一、下载安装包
https://www.elastic.co/cn/downloads/
]]></description><category></category></item><item><title><![CDATA[An unexpected connection driver error occured错误（亲测有效）]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118933418</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118933418</guid><author>theRengar</author><pubDate>Tue, 20 Jul 2021 14:00:19 +0800</pubDate><description><![CDATA[spring cloud config在启动时报错，连接不上rabbitmq，报错内容如下
An unexpected connection driver error occured

java.net.SocketException: Socket Closed
 at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.8.0_201]
 at java.net.SocketInputStream.socketRead(SocketI]]></description><category></category></item><item><title><![CDATA[log4j项目日志记录并导入本地]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118933188</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118933188</guid><author>theRengar</author><pubDate>Tue, 20 Jul 2021 13:44:58 +0800</pubDate><description><![CDATA[项目日志在整个项目运行中，起着至关重要的作用。后期的运维，和功能更新无疑日志是最好的根据，下面介绍一下log4j的项目日志记录
1、引入maven依赖
        &lt;dependency&gt;
            &lt;groupId&gt;log4j&lt;/groupId&gt;
            &lt;artifactId&gt;log4j&lt;/artifactId&gt;
            &lt;version&gt;1.2.17&lt;/version&gt;]]></description><category></category></item><item><title><![CDATA[spring cloud五大组件之config]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118889735</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118889735</guid><author>theRengar</author><pubDate>Mon, 19 Jul 2021 10:36:52 +0800</pubDate><description><![CDATA[前沿：
spring cloud config是靠Bus用于支撑配置的动态刷新。这项技术是基于消息队列来实现的。spring cloud bus使用消息队列形成一个消息总线，每个需要获取配置的服务都需要与总线进行连接，获得各自的channel。配置中心就是通过消息总线，通知各个客户端通过channel获取最新的配置。

为什么使用消息队列？
是因为消息队列支持发布订阅模式，在配置中心发布新配置之后，就通过发布订阅广播给所有的客户端，获取最新的配置。
当然更多更详细的底层知识，大家可以自行百度。下面说说具体在]]></description><category></category></item><item><title><![CDATA[redis分布式锁的五个坑]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118677670</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118677670</guid><author>theRengar</author><pubDate>Mon, 12 Jul 2021 16:55:12 +0800</pubDate><description><![CDATA[redis分布式锁在实际开发过程中的重要性，不言而喻，设计高并发的业务场景，redis几乎都会登场。
今天给大家分享一下redis分布式锁的几大坑吧????
1、锁未被释放
请看下面一段代码
1    /**
 2     * @author xiaofu
 3     * @description 扣减库存
 4     * @date 2020/4/21 12:10
 5     */
 6   public String stockLock() {
 7        RLock lock = red]]></description><category></category></item><item><title><![CDATA[java API接口居然不用手写controller，sevice，dao]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118675746</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118675746</guid><author>theRengar</author><pubDate>Mon, 12 Jul 2021 15:26:11 +0800</pubDate><description><![CDATA[今天给大家分享一个可以大大减少代码量的工具magic-api
官网文档地址：https://ssssssss.org/guide/modules/db.html
magic-api 是一个基于Java的接口快速开发框架，编写接口将通过magic-api提供的UI界面完成，自动映射为HTTP接口，无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发。
上边是官方对工具的介绍，但好像还是没明白它是干什么的，接下来咱们演示一下，你就会]]></description><category></category></item><item><title><![CDATA[微服务网关Zuul和Gateway的区别]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118572906</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118572906</guid><author>theRengar</author><pubDate>Thu, 08 Jul 2021 14:33:37 +0800</pubDate><description><![CDATA[微服务网关Zuul和Gateway的区别：
spring-cloud-Gateway是spring-cloud的一个子项目。而zuul则是netflix公司的项目，只是spring将zuul集成在spring-cloud中使用而已。
因为zuul2.0连续跳票和zuul1的性能表现不是很理想，所以催生了spring团队开发了Gateway项目。
Zuul：
使用的是阻塞式的 API，不支持长连接，比如 websockets。
底层是servlet，Zuul处理的是http请求
没有提供异步支持，流控等均由h]]></description><category></category></item><item><title><![CDATA[Ribbon、Hystrix实现服务负载均衡、资源隔离与熔断降级]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118571958</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118571958</guid><author>theRengar</author><pubDate>Thu, 08 Jul 2021 14:12:04 +0800</pubDate><description><![CDATA[一、组件介绍
1、Ribbon
ribbon是属于Netflix的一款基于客户端http、tcp负载均衡的一个小框架，何为客户端负载均衡，简单理解就是客户端获取了服务注册中心的所有注册数缓存在本地，并定时维护本地缓存的注册数据；客户端发起远程服务请求，则采用一系列的负载均衡策略从本地获取一个服务的地址数据并对其发送网络请求。
我们平常所了解的SpringCloud ribbon则是对Netflix的ribbon进行了一系列的封装，使其无缝对接SpringCloud环境开发，并且能够无缝对接各大主流服务治理框]]></description><category></category></item><item><title><![CDATA[Mybatis 框架下SQL注入攻击的3种方式]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118553517</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118553517</guid><author>theRengar</author><pubDate>Wed, 07 Jul 2021 17:47:04 +0800</pubDate><description><![CDATA[前言：
SQL注入漏洞作为WEB安全的最常见的漏洞之一，在java中随着预编译与各种ORM框架的使用，注入问题也越来越少。新手代码审计者往往对Java Web应用的多个框架组合而心生畏惧，不知如何下手，希望通过Mybatis框架使用不当导致的SQL注入问题为例，能够抛砖引玉给新手一些思路。
Mybatis的SQL注入
Mybatis的SQL语句可以基于注解的方式写在类方法上面，更多的是以xml的方式写到xml文件。Mybatis中SQL语句需要我们自己手动编写或者用generator自动生成。编写xml文件]]></description><category></category></item><item><title><![CDATA[为什么SpringBoot无法打成 jar包]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118553170</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118553170</guid><author>theRengar</author><pubDate>Wed, 07 Jul 2021 17:34:54 +0800</pubDate><description><![CDATA[maven中缺少插件。
SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包成一个可执行的jar包。在pom文件里加入这个插件即可：
&lt;build&gt;
    &lt;plugins&gt;
        &lt;plugin&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
            &lt;artifactId&gt;spring-boot-]]></description><category></category></item><item><title><![CDATA[spring Ioc容器详解]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118552499</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118552499</guid><author>theRengar</author><pubDate>Wed, 07 Jul 2021 17:28:38 +0800</pubDate><description><![CDATA[初识 IoC
在 Spring 中，我们常说 IoC，那么什么是 IoC，IoC 又在 Spring 中起着什么样的作用呢？
IoC（Inverse of Control），意为控制反转，那么这里又面临着两个问题，何为控制？何为反转？先来看一个案例。
这是一个普通的 Bean 类：
public class Person {

    private String name;
    private int age;

    public void teach(){
        System.out.]]></description><category></category></item><item><title><![CDATA[java要知道的工具库，大大减少代码量]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118551871</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118551871</guid><author>theRengar</author><pubDate>Wed, 07 Jul 2021 16:59:56 +0800</pubDate><description><![CDATA[1、java自带工具方法
1.1、List集合拼接成以逗号分隔的字符串
// 如何把list集合拼接成以逗号分隔的字符串 a,b,c  
List&lt;String&gt; list = Arrays.asList("a", "b", "c");  

// 第一种方法，可以用stream流  
String join = list.stream().collect(Collectors.joining(","));  
System.out.println(join); // 输出 a,b,c  

/]]></description><category></category></item><item><title><![CDATA[springmvc基本使用]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118549831</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118549831</guid><author>theRengar</author><pubDate>Wed, 07 Jul 2021 16:40:46 +0800</pubDate><description><![CDATA[1、springmvc介绍
1.接受前台或者其它服务的数据，并校验 json
2.返回数据给前端或者其它服务 json,流
3.指定跳转的页面或者其它服务 重定向或者跳转
数据接口
2、简单入门
2.1、导入jar包
spring-context
spring-context-support
spring-web
spring-webmvc
servlet-api
jsp-api

 &lt;!-- https://mvnrepository.com/artifact/org.springframework]]></description><category></category></item><item><title><![CDATA[mysql case、when、then、else、end用法]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118549231</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118549231</guid><author>theRengar</author><pubDate>Wed, 07 Jul 2021 16:08:09 +0800</pubDate><description><![CDATA[首先我们先来看一下每个字段代表的含义：
case：指定字段
when：当什么条件下
else：前面的条件都不满足
end：结束语
具体的解释直接通过题来解释
1、查询兴趣班sing表，要求字段level，初中高替换123

也可以写成如下格式

2、统计sing班级 初中高的个数，并且按如下结果显示


以上理解可能还不够深入，我们来两个小练习
练习1
国家（country） 人口（population）
中国 600
美国 100
加拿大 100
英国 200
法国 300
日本 250
德国 200
墨]]></description><category></category></item><item><title><![CDATA[Data truncated for column ‘字段名‘ at row 1 的解决方法]]></title><link>https://blog.youkuaiyun.com/theRengar/article/details/118548953</link><guid>https://blog.youkuaiyun.com/theRengar/article/details/118548953</guid><author>theRengar</author><pubDate>Wed, 07 Jul 2021 15:57:47 +0800</pubDate><description><![CDATA[1、原因：
修改表结构 XXX 为 not null 时，表数据  XXX 字 段 存在 null 值。
2、解决办法
去掉或修改 带有 null 值 的 ( 需要设置 not null 的) 字段

]]></description><category></category></item></channel></rss>