<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_45302623的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_45302623</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_45302623]]></copyright><item><title><![CDATA[Swagger:swagger分组配置和文档介绍]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112974014</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112974014</guid><author>qq_45302623</author><pubDate>Thu, 21 Jan 2021 22:40:25 +0800</pubDate><description><![CDATA[Swagger:swagger分组配置和文档介绍
花开堪折直需折，莫待无花空折枝
分组配置：
没有使用分组配置时，所用的api都在默认的分组下，如果api接口过多，显然是不利于管理的：

配置api文档分组：创建swagger2配置文件：Swagger2Config
@Configuration
@EnableSwagger2
public class Swagger2Config { 
//前台文档分组
    @Bean
    public Docket webApiConfig(){
       ]]></description><category></category></item><item><title><![CDATA[swagger介绍与使用]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112854199</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112854199</guid><author>qq_45302623</author><pubDate>Tue, 19 Jan 2021 22:45:02 +0800</pubDate><description><![CDATA[Swagger：swagger介绍与使用
花开堪折直需折，莫待无花空折枝
介绍:
Swagger 是一个规范和完整的框架，用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
及时性 (接口变更后，能够及时准确地通知相关前后端开发人员)规范性 (并且保证接口的规范性，如接口的地址，请求方式，参数及响应格式和错误信息)一致性 (接口信息一致，不会出现因开发人员拿到的文档版本不一致，而出现分歧)可测性 (直接在接口文档上进行测试，以方便理解业务)

前端工程师编写接口文档（使用swagger2编]]></description><category></category></item><item><title><![CDATA[设置springmvc返回时间json格式]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112854156</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112854156</guid><author>qq_45302623</author><pubDate>Tue, 19 Jan 2021 22:43:29 +0800</pubDate><description><![CDATA[springboot:设置springmvc返回时间json格式
花开堪折直需折，莫待无花空折枝
默认情况下json时间格式带有时区，并且是世界标准时间，和我们的时间差了八个小时
全局配置json时间格式：
spring:
  jackson: #返回json的全局时间格式
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

实体对象单独配置
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM]]></description><category></category></item><item><title><![CDATA[Nacos：服务提供者、消费者注册]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112723353</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112723353</guid><author>qq_45302623</author><pubDate>Sat, 16 Jan 2021 19:32:51 +0800</pubDate><description><![CDATA[Nacos：服务提供者、消费者使用
花开堪折直需折，莫待无花空折枝
服务提供者进入Nacos注册中心:
建一个modul:cloudalibaba-provider-payment9001
pom：
&lt;dependency&gt;
        &lt;groupId&gt;com.alibaba.cloud&lt;/groupId&gt;
        &lt;artifactId&gt;spring-cloud-starter-alibaba-nacos-discovery&lt;/artif]]></description><category></category></item><item><title><![CDATA[mybatis-plus条件构造器]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112723340</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112723340</guid><author>qq_45302623</author><pubDate>Sat, 16 Jan 2021 19:29:04 +0800</pubDate><description><![CDATA[mybatis-plus条件构造器QueryWrapper
花开堪折直需折，莫待无花空折枝
Wrapper(意思为包装):作用就是包装SQL语句，实现条件地增删改查,通过wrapper的各个方法实现条件构造。
使用案列：
ge(查询大于等于)、allEq（全部相等），删除案列：
@Test
void wapperTest(){
    QueryWrapper&lt;User&gt; wrapper=new QueryWrapper&lt;&gt;();
    //使用map弄多个条件
    Map&l]]></description><category></category></item><item><title><![CDATA[mybatis-plus删除实现、逻辑删除]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112689346</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112689346</guid><author>qq_45302623</author><pubDate>Fri, 15 Jan 2021 22:45:37 +0800</pubDate><description><![CDATA[mybatis-plus删除实现、逻辑删除
花开堪折直需折，莫待无花空折枝
基本删除
根据ID删除

删除id为1的用户

//        根据id删除
int i = userMapper.deleteById(1L);
System.out.println("删除结果："+i);


根据ID批量删除

删除id为2，6的两个用户:

//根据id批量删除
int i2 = userMapper.deleteBatchIds(Arrays.asList(2, 6));


条件删除

删除name为]]></description><category></category></item><item><title><![CDATA[Mybatis-plus基本查询、分页查询]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112689323</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112689323</guid><author>qq_45302623</author><pubDate>Fri, 15 Jan 2021 22:42:35 +0800</pubDate><description><![CDATA[Mybatis-plus基本查询、分页查询
花开堪折直需折，莫待无花空折枝
User:
@Data
public class User {
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    private String name;
    private int age;
    private String email;
    @TableField( fill = FieldFill.INSERT)
    private D]]></description><category></category></item><item><title><![CDATA[mybatis-pius自动填充]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112606067</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112606067</guid><author>qq_45302623</author><pubDate>Thu, 14 Jan 2021 14:09:12 +0800</pubDate><description><![CDATA[mybatis-pius自动填充
花开堪折直需折，莫待无花空折枝
阿里Java开发手册，数据库字段必须有：id,创建时间，更新时间；
自动填充方式实现：

数据库层面:

设置默认值，但由于各个数据库的设置默认值方式不一样，如果数据库出现移植，就需要重新设置大量数据的时间；一般不推荐，因为有更好的方式。


也可以使用mybatis-plus的自动填充

mybatis-plus自动填充：

第一步:注解填充字段 @TableField(fill = FieldFill.INSERT)

@Data
pub]]></description><category></category></item><item><title><![CDATA[mybatis-plus主键策略生成失败]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112453704</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112453704</guid><author>qq_45302623</author><pubDate>Mon, 11 Jan 2021 00:01:29 +0800</pubDate><description><![CDATA[mybatis-plus主键策略生成失败
花开堪折直需折，莫待无花空折枝
问题：
主键生成失败，一直为0（int类型默认为0）,

实体类：使用雪花算法+UUID生成主键策略
@Data
public class User {
    @TableId(value = "id",type= IdType.ASSIGN_UUID)
    private int id;
    private String name;
    private int age;
    private String email]]></description><category></category></item><item><title><![CDATA[Nacos Windos安装]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112453417</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112453417</guid><author>qq_45302623</author><pubDate>Sun, 10 Jan 2021 23:58:08 +0800</pubDate><description><![CDATA[Nacos安装
花开堪折直需折，莫待无花空折枝
下载地址
进入下载地址，找到对应版本，点击

一直向下划，windos下载点击zip

解压：

进入nacos的bin文件夹下，点击startup.cmd，启动nacos：

如果出现以下画面，则说明nacos启动成功：

访问控制台（上面红线部分地址）：

注意:nacos1.3.2默认启动为集群，如果需要进行单机需要打开startup.cmd，修改MODE=“standalone”：

转载请注明来源，谢谢

...]]></description><category></category></item><item><title><![CDATA[redis简介与window安装]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112393566</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112393566</guid><author>qq_45302623</author><pubDate>Sat, 09 Jan 2021 16:30:22 +0800</pubDate><description><![CDATA[redis简介与window安装：
花开堪折直需折，莫待无花空折枝
Redis
概念：Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对（key-value）数据库
特征：


数据间没有必然的关联关系


内部采用单线程机制进行工作


高性能。官方提供测试数据，50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。


多数据类型支持
字符串类型 string
列表类型 list
散列类型 hash
集合]]></description><category></category></item><item><title><![CDATA[redis命令简单介绍]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112393503</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112393503</guid><author>qq_45302623</author><pubDate>Sat, 09 Jan 2021 16:27:55 +0800</pubDate><description><![CDATA[redis命令简单介绍
花开堪折直需折，莫待无花空折枝
命令行工具须知命令：

功能性命令
清除屏幕信息
帮助信息查阅
退出指令

redis功能命令：
基本的get、set命令，某些命令可以通过help命令查找
set:

set key value


get:

get  key


清除屏幕信息

clear

帮助信息查阅
help:

下面是help的信息提示



help @：group包括string、hash、list、set、sorted_set等，可以知道对应group(类型)的命令]]></description><category></category></item><item><title><![CDATA[redis数据类型：String]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112393129</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112393129</guid><author>qq_45302623</author><pubDate>Sat, 09 Jan 2021 16:08:51 +0800</pubDate><description><![CDATA[redis数据类型：String
花开堪折直需折，莫待无花空折枝
实际应用中有多种多样的场景，比如：

秒杀
新闻热点
在线人数
session、token管理

各个场景需要的数据类型各不相同；常见的数据类型有：




redis数据类型
java类比




string
String


hash
HashMap


list
LinkedList


set
HashSet


sorted_set
TreeSet


注：数据类型指的是存储的数据的类型，也就是 value 部分的类型，在redi]]></description><category></category></item><item><title><![CDATA[Mybatis-plus使用步骤]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/112383506</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/112383506</guid><author>qq_45302623</author><pubDate>Fri, 08 Jan 2021 20:39:35 +0800</pubDate><description><![CDATA[Mybatis-plus的简单使用步骤
花开堪折直需折，莫待无花空折枝
导入依赖
&lt;dependency&gt;
    &lt;groupId&gt;org.projectlombok&lt;/groupId&gt;
    &lt;artifactId&gt;lombok&lt;/artifactId&gt;
    &lt;optional&gt;true&lt;/optional&gt;
&lt;/dependency&gt;
&lt;!--mybatis-plus--&gt;
&lt;dep]]></description><category></category></item><item><title><![CDATA[负载均衡以及Ribbon介绍:]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/111321892</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/111321892</guid><author>qq_45302623</author><pubDate>Thu, 17 Dec 2020 18:51:37 +0800</pubDate><description><![CDATA[负载均衡以及Ribbon介绍:
负载均衡简介：
LB（Load Balance，负载均衡）是一种集群技术，它将特定的业务（网络服务、网络流量等）分担给多台网络设备（包括服务器、防火墙等）或多条链路，从而提高了业务处理能力，保证了业务的高可靠性。
负载均衡技术具有一下优势：
（1）高性能：负载均衡技术将业务较均衡的分担到多台设备或链路上，从而提高了整个系统的性能；
（2）可扩展性：负载均衡技术可以方便的增加集群中设备或链路的数量，在不降低业务质量的前提下满足不断增长的业务需求；
（3）高可靠性：单个甚至多个设]]></description><category></category></item><item><title><![CDATA[命令模式解析]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/110748799</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/110748799</guid><author>qq_45302623</author><pubDate>Sun, 06 Dec 2020 17:39:03 +0800</pubDate><description><![CDATA[命令模式:
花开堪折直需折，莫待无花空折枝

一只小菜鸟

命令模式介绍：
在介绍命令模式之前，让我们先来想一下没有使用命令模式之前我们执行一个动作（操作）的实现流程是怎样的：

对象包括：调用者、接受（执行）者
动作描述：比如调用者A现在要执行一个文件读取的操作，然后有个接受者B可以实现这样一个操作，就是调用者A直接去调用接受者B对应的方法；

问题就在上面A去调B,A必须知道B是谁（对象）以计B的方法名（不然怎么调），这里就造成了调用者与接受（执行）者之间的一个强耦合的关系，如果A还有很多的操作，依然存]]></description><category></category></item><item><title><![CDATA[SpringBoot父子工程创建及相关知识]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/110631565</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/110631565</guid><author>qq_45302623</author><pubDate>Fri, 04 Dec 2020 11:20:58 +0800</pubDate><description><![CDATA[知识：SpringBoot父子工程创建
花开堪折直需折，莫待无花空折枝

一只小菜鸟
开始之前，非常非常有必要了解一下关于以及的区别，这样才可以在进行创建maven父子工程种避免一些不必要的意外错误。

dependencyManagement与dependencies的区别：
dependencyManagement：

在项目的父工程中pom文件使用，
用于管理jar包的版本，并不会去下载jar包
子项目在引入dependencyManagement中定于了的jar包时，只需要定义相应的groupId和]]></description><category></category></item><item><title><![CDATA[PageHelper使用、问题]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/110523481</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/110523481</guid><author>qq_45302623</author><pubDate>Thu, 03 Dec 2020 11:13:20 +0800</pubDate><description><![CDATA[PageHelper简单使用：
花开堪折直需折，莫待无花空折枝

对核心的东西只会使用或者ctrl cv有可能不算…，因为谁都会…

简单使用：


导入jar包：
&lt;dependency&gt;
    &lt;groupId&gt;com.github.pagehelper&lt;/groupId&gt;
    &lt;artifactId&gt;pagehelper-spring-boot-starter&lt;/artifactId&gt;
    &lt;version&gt;1.2.3&]]></description><category></category></item><item><title><![CDATA[Hystrix服务降级fallback实现]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/110498697</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/110498697</guid><author>qq_45302623</author><pubDate>Wed, 02 Dec 2020 20:46:05 +0800</pubDate><description><![CDATA[Hystrix服务降级fallback实现
花开堪折直需折，莫待无花空折枝

我是一个菜菜鸟

Hystrix服务降级介绍：

当某个服务接口出现异常情况时（超时、执行异常）——该接口不可用，此时需要及时进行异常情况的处理，避免出现级联故障导致服务雪崩的现象，需要使用一个备选方案来实现服务的及时响应；（就好比if else if…else中的else一层，有一个备用方案）

服务降级fallback实现：


服务降级在服务端、客户端都可以，但一般放在客户端；如果客户端配置过feign,可在配置文件中加入(]]></description><category></category></item><item><title><![CDATA[知识：工程重构（提取公共的代码为jar并使用）]]></title><link>https://blog.youkuaiyun.com/qq_45302623/article/details/110389893</link><guid>https://blog.youkuaiyun.com/qq_45302623/article/details/110389893</guid><author>qq_45302623</author><pubDate>Mon, 30 Nov 2020 16:14:02 +0800</pubDate><description><![CDATA[知识：工程重构
使用工程重构原因：

避免代码冗余，将公用的代码部分抽取到一个模块中减少代码量

如何进行工程重构：
在项目的pom文件最后的地方引入maven的插件：
    &lt;build&gt;
        &lt;plugins&gt;
            &lt;plugin&gt;
                &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
                &lt;artifactId]]></description><category></category></item></channel></rss>