<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[X_ABU的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/X_ABU</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; X_ABU]]></copyright><item><title><![CDATA[使用echarts构建组织架构树形结构图]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/143223171</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/143223171</guid><author>X_ABU</author><pubDate>Fri, 25 Oct 2024 00:28:59 +0800</pubDate><description><![CDATA[使用echarts构建组织架构树形结构图获取数据主体代码
获取数据

可以使用请求获取数据，这边使用JS脚本固定数据 dataSource.js

const datasurce = {
    name: 'flare',
    children: [
        {
            name: 'data',
            children: [
                {
                    name: 'converters',
         ]]></description><category></category></item><item><title><![CDATA[VSCode搭建Hzero(SpringCloud架构)后端开发调试环境]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/141389115</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/141389115</guid><author>X_ABU</author><pubDate>Wed, 21 Aug 2024 11:57:53 +0800</pubDate><description><![CDATA[这里使用来实现远程监听5055端口，这个端口可以自定义，不冲突就可以，如果使用了，就添加 配置，Hzero很多模块都有使用，这点要注意。这里使用来执行 命令，当然这个命令可以直接在项目根目录直接执行，或者使用shell脚本，也可以使用VSCode的插件来执行，这里只是提供一个方法，这样方便添加其他的参数快速运行
配置launch.json
这里配置一个远程调试的配置
这里需要关注两个参数
: 这里配置运行任务的服务器，我们在本地运行，这里使用
: 要连接的端口，这里要和里配置的监听端口保持一致上面内容填写好]]></description><category></category></item><item><title><![CDATA[Dataweave2 语法教程]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/140095178</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/140095178</guid><author>X_ABU</author><pubDate>Mon, 01 Jul 2024 10:58:21 +0800</pubDate><description><![CDATA[是 MuleSoft 的数据语言，专门用于数据转换和映射。在 MuleSoft 的 Anypoint Platform 中，它是数据集成的一部分。下面是一个 DataWeave 语法教程，涵盖基本的语法和用法。]]></description><category></category></item><item><title><![CDATA[java中main方法的重载，覆盖，继承，调用问题]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/123325339</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/123325339</guid><author>X_ABU</author><pubDate>Mon, 07 Mar 2022 10:56:12 +0800</pubDate><description><![CDATA[java中main方法的重载，覆盖，继承，调用问题
重载
public class Main1 {
    private static Integer flag = 0;

    public static void main(String[] args) {
        main("");
    }

    public static void main(String args) {
        System.out.println("hello main1 重载");
    }
}

]]></description><category></category></item><item><title><![CDATA[JSON数组动态转EXCEL下载]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/123281452</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/123281452</guid><author>X_ABU</author><pubDate>Fri, 04 Mar 2022 17:33:37 +0800</pubDate><description><![CDATA[JSON数组动态转EXCEL下载

把json数组动态的转换成excel下载下来

    public static void jsonToXSSF(String str, HttpServletResponse response) throws IOException {
        response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("mongo.xlsx", "UTF-8"));]]></description><category></category></item><item><title><![CDATA[Java 队列使用]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/120272936</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/120272936</guid><author>X_ABU</author><pubDate>Mon, 13 Sep 2021 18:42:48 +0800</pubDate><description><![CDATA[文章目录1. 接口Queue&lt;E&gt;1.1. 添加操作1.1.1. add1.1.2. offer1.2. 检索操作1.2.1. element1.2.2. peek1.3. 移除操作1.3.1. remove1.3.2. poll1.4. 总结2. 接口BlockingQueue&lt;E&gt;2.1. contains2.2. drainTo2.3. remainingCapacity 和 remove2.4. 等待操作2.4.1. 指定时间操作 offer 和 poll2.4.1.1. o]]></description><category></category></item><item><title><![CDATA[Java8新特性的使用]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/120217394</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/120217394</guid><author>X_ABU</author><pubDate>Fri, 10 Sep 2021 10:55:55 +0800</pubDate><description><![CDATA[文章目录1. Lambda表达式1.1. 四大基础函数式接口1.1.1. Function &lt;T,R&gt; 函数接口1.1.2. Predicate&lt;T&gt; 断言接口1.1.3. Consumer&lt;T&gt; 消费者接口1.1.4. Supplier&lt;T&gt; 供应商接口1.2. 自定义接口方法2. 函数式参数3. Stream流运算和链式编程3.1. map 和 forEach、flatMap3.1.1. map3.1.2. forEach3.1.3. flatMap3.2]]></description><category></category></item><item><title><![CDATA[关于Oracle根据累计值终止查询]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/118966265</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/118966265</guid><author>X_ABU</author><pubDate>Wed, 21 Jul 2021 14:53:04 +0800</pubDate><description><![CDATA[昨天有个朋友遇到一个问题：
单据根据创建时间倒序排序
累计单据金额等于或者超过1000时停止查询，返回查出来的数据

然后我提供了一个mysql的方式，但是他说他使用的是Oracle的数据库，尴尬！
Mysql的实现方法

模拟一个场景
通过序列号倒序排序
累计数字字段，当累计和大于等于100时停止查询

提供表数据如下：

这里通过over函数实现逐行累计；
SELECT
	T1.* 
FROM
	( SELECT ID, NUM, sum( NUM ) over ( ORDER BY "INDEX" .]]></description><category></category></item><item><title><![CDATA[关于MySql根据累计值终止查询]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/118944848</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/118944848</guid><author>X_ABU</author><pubDate>Tue, 20 Jul 2021 21:23:36 +0800</pubDate><description><![CDATA[今天有个朋友遇到一个问题：
单据根据创建时间倒序排序
累计单据金额等于或者超过1000时停止查询，返回查出来的数据

当时我没有这样的表，于是我就用现成的一张表，设计了如下的场景，理论一样

有这样的业务场景：
用户表根据最后修改时间倒序排序；
然后从上往下累计年龄累计，当值超过或等于100时停止。

首先有如下的表：

然后使用@参数保存累计的值，通过where来判断结果获取值，sql如下
SELECT
	T1.id,
	T1.num,
	T1.NAME,
	T1.age,
	T1.last_updat.]]></description><category></category></item><item><title><![CDATA[两系统文件传输]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/115114013</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/115114013</guid><author>X_ABU</author><pubDate>Tue, 23 Mar 2021 11:30:21 +0800</pubDate><description><![CDATA[文章目录一、文件转存1. 二进制流2. 转码编译二、文件下载接口穿透1. 二进制流2. 转码编译三、Hzero系统下文件的穿透下载一、文件转存1. 二进制流2. 转码编译二、文件下载接口穿透1. 二进制流2. 转码编译三、Hzero系统下文件的穿透下载

在文件的传输的使用中常常用到两系统之间的文件交互，使用的方式有两种，一种是通过二进制流的方式实现，一种是通过转码编译的方式。下面是三中使用场景

一、文件转存

当系统A要把文件传个系统B用来保存，这样的可以使用两钟方式

1. 二进制流
在文件的读写过程]]></description><category></category></item><item><title><![CDATA[MySQL查询数据库中存在的表名和某表中存在的字段名称]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/111591837</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/111591837</guid><author>X_ABU</author><pubDate>Wed, 23 Dec 2020 15:48:01 +0800</pubDate><description><![CDATA[1、查询数据库中存在的表名
SELECT
	TABLE_NAME 
FROM
	information_schema.TABLES 
WHERE
	TABLE_SCHEMA = 'yourDataBeas'

2、查询数据库中某表存在的字段名称
SELECT
	COLUMN_NAME 
FROM
	information_schema.COLUMNS 
WHERE
	table_name = 'yourTable' 
	AND TABLE_SCHEMA = 'yourDataBeas'


...]]></description><category></category></item><item><title><![CDATA[Docker下使用MySQL的binlog恢复数据]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/110442864</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/110442864</guid><author>X_ABU</author><pubDate>Tue, 01 Dec 2020 18:14:47 +0800</pubDate><description><![CDATA[文章目录一、拉取mysql镜像并启动1、拉取镜像2、启动镜像二、创建数据库三、数据恢复

系统：CentOS 7
数据库：MySQL 5.7
Docker：19.03.13

一、拉取mysql镜像并启动
1、拉取镜像
docker pull mysql:5.7

镜像拉取好后查看一下
docker images

结果如下
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql  ]]></description><category></category></item><item><title><![CDATA[SpringBoot 自定义注解的使用(AOP实现)]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/110100983</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/110100983</guid><author>X_ABU</author><pubDate>Tue, 24 Nov 2020 23:37:50 +0800</pubDate><description><![CDATA[文章目录一、依赖二、自定义注解1、@Target2、@Retention3、@Documented三、解析注解1、增强调用顺序2、环绕增强获取注解信息3、环绕增强修改传入接口方法的参数4、环绕增强的接口方法的返回值
一、依赖
在正常的SpringBoot项目中加入如下：
&lt;dependency&gt;
         &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
         &lt;artifactId&gt;spring-bo]]></description><category></category></item><item><title><![CDATA[红黑树学习和代码实现]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/109844967</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/109844967</guid><author>X_ABU</author><pubDate>Fri, 20 Nov 2020 12:19:03 +0800</pubDate><description><![CDATA[文章目录一、介绍二、旋转方式1、左旋2、右旋三、变换规则1、变色2、左旋3、右旋4、例子四、代码实现
一、介绍
红黑树是一种特殊的二叉搜索平衡树，特点：

每个结点不是红色就是黑色（两种颜色的结点就可以了，为了研究方便这里使用了红黑色）
不可能有连在一起的结点
根结点都是黑色 root
每个红色结点的子结点都是黑色
叶子结点都是黑色 [注意：这里叶子节点，是指为空(NIL或NULL)的叶子节点！]
从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。

二、旋转方式

这里说明站在绿色结点的角度说]]></description><category></category></item><item><title><![CDATA[SpringBoot 整合多数据源和事务管理]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/109724934</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/109724934</guid><author>X_ABU</author><pubDate>Mon, 16 Nov 2020 17:00:01 +0800</pubDate><description><![CDATA[文章目录一、创建SpringBoot项目二、添加多数据源三、分布式事务
一、创建SpringBoot项目
这里使用maven快速搭建
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://]]></description><category></category></item><item><title><![CDATA[Zookeeper使用CentOS7搭建集群]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/109537422</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/109537422</guid><author>X_ABU</author><pubDate>Fri, 06 Nov 2020 19:02:45 +0800</pubDate><description><![CDATA[文章目录安装准备1、设置hostname2、设置ens333、安装zookeeper、JDK、maven4、关闭防火墙5、设置Zookeeper1、编译zookeeper-server2、配置zoo.cfg文件3、创建dataDir目录和myid文件4、启动测试

zookeeper:apache-zookeeper-3.6.2
JDK:jdk1.8.0_271
maven: apache-maven-3.6.3
Linux: CentOS 7.8


我这里全程使用root安装操作

安装准备
我这里使用]]></description><category></category></item><item><title><![CDATA[【ERROR】Can not deserialize value of type java.util.Date from String “2020-09-15 00:00:00“]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/108727064</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/108727064</guid><author>X_ABU</author><pubDate>Tue, 22 Sep 2020 11:33:18 +0800</pubDate><description><![CDATA[问题出在反序列化的时候，因为保存的时候对象变成了map对象，导致无法直接反序列化，日期类型出现异常

Can not deserialize value of type java.util.Date from String "2020-09-15 00:00:00"

解决方法，添加注解
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;

这样就能转换成功了。.]]></description><category></category></item><item><title><![CDATA[反序列化LinkedHashMap转POJO对象]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/108718428</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/108718428</guid><author>X_ABU</author><pubDate>Mon, 21 Sep 2020 20:49:19 +0800</pubDate><description><![CDATA[当反序列化时遇到待序列化对象（JSON或byte[]）转成list对象的时候，我们期望的是List&lt;POJO&gt;，可是实际是转成了List&lt;LinkedHashMap&gt;对象，当我使用的时候会抛出异常
java.lang.ClassCastException: java.util.LinkedHashMap 
cannot be cast to xxx.xxx.xxx.dto.POJO

这时可以使用方法如下
架包下载地址：https://mvnrepository.com/artifa]]></description><category></category></item><item><title><![CDATA[序列化和反序列化——字节码]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/108593835</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/108593835</guid><author>X_ABU</author><pubDate>Tue, 15 Sep 2020 09:57:37 +0800</pubDate><description><![CDATA[序列化: 是指将Java对象转换为字节序列的过程
反序列化: 是将字节序列转换为Java对象的过程。
实现方式：只要对象实现了Serializable、Externalizable接口则该对象就实现了序列化。

下面举例说明：
首先是工具类：
public class MethodRef&lt;T&gt; {
    private Field[] declaredFields;
    private T objact;

    public MethodRef(T objact) {
       .]]></description><category></category></item><item><title><![CDATA[SpringCloud调用第三方接口实现文件下载——接口穿透]]></title><link>https://blog.youkuaiyun.com/X_ABU/article/details/108331886</link><guid>https://blog.youkuaiyun.com/X_ABU/article/details/108331886</guid><author>X_ABU</author><pubDate>Mon, 31 Aug 2020 23:44:57 +0800</pubDate><description><![CDATA[需求：

现在有两个系统，一个是SSM架构系统，一个是SpringCloud架构系统
现在SpringCloud系统要求下载SSM系统的文件，采取调用SSM系统接口的方式
通过调用SpringCloud接口实现下载


主要操作可以分成三步：

获取token
请求SSM系统获取文件的字节流和文件信息
将请求的字节流重新装配在SpringCloud系统的返回参数里

这样就完成了接口的穿透转载了。
token的获取就不说了，不同的系统获取的方式也不同，下面说一下获取SSM系统的字节流：
    @Over.]]></description><category></category></item></channel></rss>