<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[WR]]></title><description><![CDATA[WR的博客]]></description><link>https://blog.youkuaiyun.com/qq_32115447</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_32115447]]></copyright><item><title><![CDATA[Kettle实现文件输出]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/121126444</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/121126444</guid><author>qq_32115447</author><pubDate>Wed, 03 Nov 2021 17:37:41 +0800</pubDate><description><![CDATA[public class KettleService {
    
    //存放kettle脚本的路径
    private String scriptPath;
    
    //先判断执行作业还是执行转换
    public Result doExecution(scriptPath, Map&lt;String,String&gt; params){
       if(scriptPath.endsWith(".kjb"){
            return runJob(scri.]]></description><category></category></item><item><title><![CDATA[java 手动分页]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/119780376</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/119780376</guid><author>qq_32115447</author><pubDate>Wed, 18 Aug 2021 15:01:52 +0800</pubDate><description><![CDATA[针对外部查询出来的集合进行手动分页：


public PageResult&lt;HotFruitEmployeeVo&gt; getResult(List&lt;HotFruitEmployeeVo&gt; employeeVoList){
    PageResult&lt;HotFruitEmployeeVo&gt; pageResult = new PageResult&lt;&gt;();
        // 手动分页
        if (!org.springframework.util]]></description><category></category></item><item><title><![CDATA[Mybatis批量更新多条数据]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/118999276</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/118999276</guid><author>qq_32115447</author><pubDate>Thu, 22 Jul 2021 15:56:00 +0800</pubDate><description><![CDATA[&lt;update id="updateBatchReview" parameterType="list"&gt;
    update erp_employee
    &lt;trim prefix="set" suffixOverrides=","&gt;
        &lt;trim prefix="employee_no =case" suffix="end,"&gt;
            &lt;foreach collection="list" item="item"&gt;
...]]></description><category></category></item><item><title><![CDATA[Lambda表达式常用操作]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/118896880</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/118896880</guid><author>qq_32115447</author><pubDate>Mon, 19 Jul 2021 17:29:44 +0800</pubDate><description><![CDATA[其实挺推荐lambda表达式的写法，减轻代码量，但是对于效率来说哪种方式更快自己没去研究过，这里也是记录自己平时用到过的，以防自己忘记了又去查。

1. 获取一个集合中对象的某个具体属性并返回集合：


List&lt;String&gt; companyIds = employeeCompanyRelaList.stream().distinct().filter(v -&gt; v.getCompanyId() != null).map(x -&gt; String.valueOf(x.getCompa]]></description><category></category></item><item><title><![CDATA[采用多线程方式去查询数据]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/115305006</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/115305006</guid><author>qq_32115447</author><pubDate>Mon, 29 Mar 2021 16:37:42 +0800</pubDate><description><![CDATA[第一步：定义多线程类，继承Thred类
public class GetCommodityThread extends Thread {

    private final static Logger LOGGER = LoggerFactory.getLogger(GetCommodityThread.class);

    private BasicDataFeignClientService basicDataFeignClientService;

    private CountDownLa]]></description><category></category></item><item><title><![CDATA[Java 高级特性一 ：反射]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/114578779</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/114578779</guid><author>qq_32115447</author><pubDate>Tue, 09 Mar 2021 11:22:38 +0800</pubDate><description><![CDATA[之前看了很多关于反射的博客，也是懵的，直到看到了这篇博客，浅显易懂。
里面包含了反射的原理，以及反射的使用，和注解的使用。强推
https://blog.youkuaiyun.com/ju_362204801/article/details/90578678

]]></description><category></category></item><item><title><![CDATA[git 如何把分支代码合并到master主分支上]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/114315787</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/114315787</guid><author>qq_32115447</author><pubDate>Wed, 03 Mar 2021 15:06:48 +0800</pubDate><description><![CDATA[git分支合并，与合并到master上一样。
1.首先切换到分支
git checkout 分支

2.使用git pull 把分支代码pull下来
git pull

3.切换到主分支
git checkout master

4.把分支的代码merge到主分支
git merge 分支

5.git push推上去ok完成,现在 你自己分支的代码就合并到主分支上了
git push

要注意push操作是否执行成功，需要检查一下！

...]]></description><category></category></item><item><title><![CDATA[通过idea生成实体类]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/114314530</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/114314530</guid><author>qq_32115447</author><pubDate>Wed, 03 Mar 2021 15:01:14 +0800</pubDate><description><![CDATA[通过idea生成实体类，无需配置文件
第一步：

第二步：点开就是这样的界面，填好数据库地址，用户名，密码，再点test connection，出现以下图标就表示完成。url：在数据库名字后面需要拼接：?Unicode=true&amp;serverTimezone=Asia/Shanghai&amp;characterEncoding=utf8&amp;useSSL=false

第三步：会出现数据库的表，然后右键点击：

第四步：然后填写需要生成实体类的路径：

(o゜▽゜)o☆[BINGO!]

..]]></description><category></category></item><item><title><![CDATA[MongoDB查询]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/108076882</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/108076882</guid><author>qq_32115447</author><pubDate>Tue, 18 Aug 2020 14:49:14 +0800</pubDate><description><![CDATA[MongoDB查询具体的某些字段：
Query query = new Query();
query.fields().include("path"); //包含该字段，如果要包含多个，就多写几个query.fields().include("");
query.fields().exclude("salary");//不包含该字段

MongoDB根据条件查询：
 Query query = new Query(Criteria
                .where("machineCode").]]></description><category></category></item><item><title><![CDATA[常用的设计模式]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/80415890</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/80415890</guid><author>qq_32115447</author><pubDate>Mon, 06 Jul 2020 18:07:53 +0800</pubDate><description><![CDATA[单例模式简单点说，就是一个应用程序中，某个类的实例对象只有一个，你没有办法去new，因为构造器是被private修饰的，一般通过getInstance()的方法来获取它们的实例。getInstance()的返回值是一个对象的引用，并不是一个新的实例，所以不要错误的理解成多个对象。单例模式实现起来也很容易，直接看demo吧publicclass Singleton {

   

    publi...]]></description><category></category></item><item><title><![CDATA[RabbitMQ的简单用法]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/106944410</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/106944410</guid><author>qq_32115447</author><pubDate>Wed, 24 Jun 2020 15:48:20 +0800</pubDate><description><![CDATA[这里主要是讲解的将一条消息放入mq中，然后在mq中进行处理，
生产者：
第一步：创建Queue名：
public class ConstantMqName {
    //查询记录队列
    public static final String MQ_RECORD_SEARCH_CONTENT= "mq-record-search-content";
}

import com.hisi.ie.common.constant.ConstantMqName;
import org.springframewo]]></description><category></category></item><item><title><![CDATA[实体类对象转String]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/106786777</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/106786777</guid><author>qq_32115447</author><pubDate>Tue, 16 Jun 2020 14:35:17 +0800</pubDate><description><![CDATA[package com.hisi.aiaudit.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.hisi.aiaudit.model.AiauditData;

public class test {
    public static void main(String[] args) {
        AiauditData aiauditData = new AiauditData();
        aiaudi]]></description><category></category></item><item><title><![CDATA[树的构建]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/106643002</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/106643002</guid><author>qq_32115447</author><pubDate>Tue, 09 Jun 2020 15:53:10 +0800</pubDate><description><![CDATA[在开发中，遇到层级关系的数据，要以树状图形式展示出来，之前在网上看的我基本用不了，记录下以java代码构建树形：
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

@Getter
@Setter
public class Tree&lt;T&gt; implements Serializable {
    ]]></description><category></category></item><item><title><![CDATA[mysql查询整个json中具体某个字段的数据]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/106625188</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/106625188</guid><author>qq_32115447</author><pubDate>Mon, 08 Jun 2020 17:52:54 +0800</pubDate><description><![CDATA[最近发现mysql强大的功能，可以直接查询出整个json中具体某个值的数据：
json对应的字段内容是这样的：
msg_content对应的内容就是json字段：
{
    "fileName":"测非编1.mp4",
    "filePath":"/mnt/windows/folderscan/uploadAndTask/91/测非编1.mp4",
    "taskName":"截取首帧失败",
    "taskFailStage":"1"
}

原始数据是这样的：

 SELECT
	id,
	]]></description><category></category></item><item><title><![CDATA[springboot-mybatis多数据源配置]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/106621325</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/106621325</guid><author>qq_32115447</author><pubDate>Mon, 08 Jun 2020 16:35:40 +0800</pubDate><description><![CDATA[在平时开发中接触了多数据源的配置，但是接触的是分包方式实现的（可能后续也会记录动态数据源配置）
1.在application.yml中添加配置：
 spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    master:
      url: jdbc:mysql://localhost:3306/multipledatasource1?characterEncoding=utf-8&amp;useSSL=false]]></description><category></category></item><item><title><![CDATA[Java基础（三）—— 集合]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/105409317</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/105409317</guid><author>qq_32115447</author><pubDate>Sat, 18 Apr 2020 15:09:36 +0800</pubDate><description><![CDATA[开始记录集合啦！
首先看看整体的
集合框架图

从上面的集合框架图可以看到，Java 集合框架主要包括两种类型的容器，一种是集合（Collection），存储一个元素集合，另一种是图（Map），存储键/值对映射。Collection 接口又有 3 种子类型，List、Set 和 Queue，再下面是一些抽象类，最后是具体实现类，常用的有 ArrayList、LinkedList、HashSet、L...]]></description><category></category></item><item><title><![CDATA[HashMap详解]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/105475485</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/105475485</guid><author>qq_32115447</author><pubDate>Sat, 18 Apr 2020 12:36:36 +0800</pubDate><description><![CDATA[之前也看了很多关于HashMap的博客，但是看了没多久也会忘，所以呢根据自己的理解记录一下HashMap。
讲解HashMap之前需要了解一下数组和链表的优劣势。
散列表（也叫哈希表）整合了数组和链表的优势。
关于哈希，基本原理就是把任意长度的输入，通过Hash算法变成固定长度的输出。
首先看看HashMap的底层存储结构：数组 + 链表 + 红黑树

注意点：
当Hash表中的所有元素超过64时...]]></description><category></category></item><item><title><![CDATA[JVM详解]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/105102513</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/105102513</guid><author>qq_32115447</author><pubDate>Sun, 29 Mar 2020 00:10:52 +0800</pubDate><description><![CDATA[为了让自己以后更好查阅，所以根据自己理解记录jvm。
可参考官网的描述：java虚拟机
也可以参考该链接：Java虚拟机
JVM内存结构

**多线程共享内存区域????*方法区、堆。
**每一个线程独享内存????*java栈、本地方法栈、程序计数器。
堆：
Java虚拟机具有一个在所有Java虚拟机线程之间共享的堆。堆是运行时数据区，从中分配所有类实例和数组的内存。
堆是在虚拟机启动时创建的。对象的堆存储...]]></description><category></category></item><item><title><![CDATA[JVM指令手册]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/105144260</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/105144260</guid><author>qq_32115447</author><pubDate>Fri, 27 Mar 2020 16:25:37 +0800</pubDate><description><![CDATA[栈和局部变量操作
将常量压入栈的指令
aconst_null 将null对象引用压入栈
iconst_m1 将int类型常量-1压入栈
iconst_0 将int类型常量0压入栈
iconst_1 将int类型常量1压入栈
iconst_2 将int类型常量2压入栈
iconst_3 将int类型常量3压入栈
iconst_4 将int类型常量4压入栈
iconst_5 将int类型常量5压入栈
...]]></description><category></category></item><item><title><![CDATA[MySQL索引详解]]></title><link>https://blog.youkuaiyun.com/qq_32115447/article/details/105078661</link><guid>https://blog.youkuaiyun.com/qq_32115447/article/details/105078661</guid><author>qq_32115447</author><pubDate>Wed, 25 Mar 2020 19:00:04 +0800</pubDate><description><![CDATA[SQL优化主要就是在优化索引，索引主要是提高查询效率。
	索引数据结构：
	二叉树
		红黑树
		Hash表
		B-Tree
	
]]></description><category></category></item></channel></rss>