<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wangyan_z的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wangyan_z</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangyan_z]]></copyright><item><title><![CDATA[将Mysql数据导入Neo4j的两种方式]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/115768923</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/115768923</guid><author>wangyan_z</author><pubDate>Tue, 20 Apr 2021 17:20:25 +0800</pubDate><description><![CDATA[1、简介


  本篇文章演示将Mysql数据导入Neo4j的两种方式：第一种：编写python脚本；第二种：使用Cypher语言的Load CSV功能


2、必要条件


1、安装docker，这里提供安装教程 https://blog.youkuaiyun.com/wangyan_z/article/details/95966896?spm=1001.2014.3001.5501

2、docker安装Neo4j，用户名和密码在如下命令里的NEO4J_AUT自定义


docker run -d --n...]]></description><category></category></item><item><title><![CDATA[注解@OneToMany@ManyToOne和@ManyToMany的使用总结]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/108626314</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/108626314</guid><author>wangyan_z</author><pubDate>Thu, 17 Sep 2020 16:06:52 +0800</pubDate><description><![CDATA[0 背景


   项目中用到@OneToMany、@ManyToOne和@ManyToMany，以评论和回复为例（一个评论会有多条回复），按照映射策略，分为外键关联、表关联和默认关联。总结它们的使用方法如下：


1 外键关联

@OneToMany


@Entity
public class Comment{

    private String id;

    @OneToMany( mappedBy="comment", cascade = {CascadeType.REMOVE}) ...]]></description><category></category></item><item><title><![CDATA[反序列化器的三种实现]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/107705929</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/107705929</guid><author>wangyan_z</author><pubDate>Fri, 31 Jul 2020 11:37:08 +0800</pubDate><description><![CDATA[0 背景


项目中调用第三方接口，返回的接口中包含多种数据类型，因此用反序列化器实现返回数据到具体类型的转换。本文提供三种实现方法（本地均已测试通过）。


1、以下面类作为示例

Item为返回数据的结构，其中data属性是指不同的返回数据类型，用泛型T表示：


public class Item&lt;T&gt; {
    private String name;
    private String type;
    private T data;     //根据type类型，将data反序]]></description><category></category></item><item><title><![CDATA[前端js基础写法]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/106851814</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/106851814</guid><author>wangyan_z</author><pubDate>Sat, 27 Jun 2020 14:45:04 +0800</pubDate><description><![CDATA[0 背景


本人后端开发，前端小白，因项目需要学习了一些关于angularJs的前端语法。后又因项目缘故，学习基础js写法和ajax请求。这里分享一些js常用的写法（主要关于交互）。


1 href

href是调用后端接口最简单的写法


在html里

在js里


...]]></description><category></category></item><item><title><![CDATA[Java后端对象的属性验证]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/106982163</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/106982163</guid><author>wangyan_z</author><pubDate>Sat, 27 Jun 2020 14:42:59 +0800</pubDate><description><![CDATA[0 背景


用来对上传属性进行判断，例如上传对象的名称重复验证


1 新建VoValidator类


import io.transwarp.zjnx.domain.ExperimentDesignVo;
import io.transwarp.zjnx.repository.ExperimentDesignRepository;
import org.springframework.stereotype.Component;
import org.springframework.validation]]></description><category></category></item><item><title><![CDATA[RestTemplate实现文件上传和下载接口]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/106613989</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/106613989</guid><author>wangyan_z</author><pubDate>Tue, 09 Jun 2020 10:52:57 +0800</pubDate><description><![CDATA[0 背景

项目中需要调用第三方导入文件和导出文件接口，本文采用RestTemplate调用接口

1 导入文件


// 导入文件
RestTemplate restTemplate = new RestTemplate();
String file = "d:\\test.zip";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
MultiValueMap&l]]></description><category></category></item><item><title><![CDATA[docker-compose部署项目时，yml文件灵活设置配置项]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/104614022</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/104614022</guid><author>wangyan_z</author><pubDate>Mon, 02 Mar 2020 17:34:15 +0800</pubDate><description><![CDATA[0 背景

  SpringBoot项目为基础，docker打包项目，docker-compose用.yml部署项目，一些灵活项配置在app.yml（自定义名称）文件中。例如经常变动的文件就需要外挂在服务器路径下（与项目docker容器里的路径是一一对应的关系）。例如灵活配置的地址。本文以这两种情况为例，记录配置过程。

1 首先，定义配置类

  配置类ApplicationPrope...]]></description><category></category></item><item><title><![CDATA[springboot JPA 基本查询和Specification查询]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/103498305</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/103498305</guid><author>wangyan_z</author><pubDate>Thu, 12 Dec 2019 14:50:36 +0800</pubDate><description><![CDATA[0 背景


 springboot JPA提供了查询数据的接口，使用起来简洁且强大。以下主要从基本查询和Specification查询（实现更复杂的查询）两方面展开。


1 基本查询

 1.1 JpaRepository使用

     只需继承JpaRepository接口，便可以使用基本的查询，具体方法可自行查看。


@Repository
public i...]]></description><category></category></item><item><title><![CDATA[git clone报错error：RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/103469367</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/103469367</guid><author>wangyan_z</author><pubDate>Tue, 10 Dec 2019 09:51:31 +0800</pubDate><description><![CDATA[0 背景


 git clone 时报如下错误：

 error：RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054






1 解决

出现以上问题，只要是安全设置问题

首先，执行 git config http.sslVerify "false"，会报如下错误：



这时，再执行gi...]]></description><category></category></item><item><title><![CDATA[解决项目部署时上传图片不生效问题]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/103080473</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/103080473</guid><author>wangyan_z</author><pubDate>Fri, 15 Nov 2019 10:36:02 +0800</pubDate><description><![CDATA[0 背景

springboot项目

使用app.yml部署项目

app.yml挂载本地目录

1 app.yml



在app.yml里面，写明了容器里的路径挂载在本地的路径（挂载则两者同步）；但实际上传图片时，上传并不生效，本地挂载的目录也无法生成。导致这样情况的原因是：没有写权限。

解决：在宿主机的项目目录下执行命令： chown -R 1000:1000 image 赋值写权限...]]></description><category></category></item><item><title><![CDATA[java实现上传和读取图片（视频）]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/102677729</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/102677729</guid><author>wangyan_z</author><pubDate>Tue, 22 Oct 2019 15:28:01 +0800</pubDate><description><![CDATA[0 背景

  实现从前端上传图片（或视频），后端保存在指定目录下；再从前端读取文件，进行显示。

1 上传代码实现

  1.1 html


&lt;!-- nzAction：后端提供上传的接口  nzName：上传参数的命名（与后端接收一致）  nzChange：ts(js)里绑定的事件 --&gt;
&lt;nz-upload nzAction="api/image/xxx"...]]></description><category></category></item><item><title><![CDATA[liquibase.exception.ChangeLogParseException解决]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/102552322</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/102552322</guid><author>wangyan_z</author><pubDate>Mon, 14 Oct 2019 17:24:56 +0800</pubDate><description><![CDATA[背景：项目启动一直好好的，今天运行起来，突然报下面的错误：





尝试解决1：看到这个着实有点懵，想着是不是build的时候没有加载出来，于是删除项目里的build文件夹，然后重新build，但问题依然没有解决。

尝试解决2：springboot项目启动有三种方法，分别是：

      a）java -jar xx.jar  

      b）jav...]]></description><category></category></item><item><title><![CDATA[Java调用WebService服务总结]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/100673236</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/100673236</guid><author>wangyan_z</author><pubDate>Wed, 18 Sep 2019 20:06:47 +0800</pubDate><description><![CDATA[0 背景

   工作中，要调用客户的WebService服务，遇到了很多奇奇怪怪的问题，在这里记录一下都是怎么解决的。网上关于这方面的博文不少，但本着学习--总结的习惯，决定出炉一篇自己在学习过程中的理解、遇到的问题和解决的方法。推荐我看过觉得不错的一篇WebService详解，内容基础且全面。而本文从工程角度出发，偏向应用。

1 简介

   这里主要采用Axis，相关包...]]></description><category></category></item><item><title><![CDATA[idea自动生成方法注释和类注释]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/100670991</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/100670991</guid><author>wangyan_z</author><pubDate>Mon, 09 Sep 2019 19:28:41 +0800</pubDate><description><![CDATA[效果展示：

  在方法上输入/**，按Enter自动生成以下注释：


    
    /** 方法注释
     *
     * @description 功能描述
     * &lt;br/&gt;
     * @param a	
     * @param b	
     * @param c	
     * @return java.lang.String
     *...]]></description><category></category></item><item><title><![CDATA[Java导出数据到Excel并从浏览器直接下载]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/100141955</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/100141955</guid><author>wangyan_z</author><pubDate>Thu, 29 Aug 2019 17:51:39 +0800</pubDate><description><![CDATA[基于Apache POI



0 导入gradle包


   // https://mvnrepository.com/artifact/org.apache.poi/poi     HSSFWorkbook包，对应2003版excel
    compile group: 'org.apache.poi', name: 'poi', version: '4.0.1'
  // htt...]]></description><category></category></item><item><title><![CDATA[com.alibaba.fastjson.JSONObject 常用语法]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/99845789</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/99845789</guid><author>wangyan_z</author><pubDate>Tue, 20 Aug 2019 15:04:43 +0800</pubDate><description><![CDATA[添加Gradle：


// https://mvnrepository.com/artifact/com.alibaba/fastjson
compile group: 'com.alibaba', name: 'fastjson', version: '1.2.47'



String字符串转化为json对象，同时获取key-value:


import com.alibaba....]]></description><category></category></item><item><title><![CDATA[springboot集成socket通信并采用线程池处理多客户端请求]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/98469772</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/98469772</guid><author>wangyan_z</author><pubDate>Sun, 04 Aug 2019 17:12:50 +0800</pubDate><description><![CDATA[首先推荐一篇不错的文章https://www.cnblogs.com/yiwangzhibujian/p/7107785.html 这篇文章已经非常清晰的讲述了socket通信的基础和应用，本文在此基础上展示socket通信应用于springboot。

   本文默认读者已经对socket通信有所了解，建立在此基础上，开启springboot集成socket之...]]></description><category></category></item><item><title><![CDATA[Springboot项目拦截器中获取到请求参数后，controller获取不到]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/96493353</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/96493353</guid><author>wangyan_z</author><pubDate>Fri, 19 Jul 2019 19:17:45 +0800</pubDate><description><![CDATA[0 背景


    拦截器被用来获取用户的请求日志，好处多多。一般来说，请求参数通过GET和POST的方式传递，GET请求参数通过request.getParameterMap()方法获取，POST请求参数通过request.getInputStream()方法获取。

    但是，当在项目中使用拦截器获取到请求参数后，发现controller中@RequestBod...]]></description><category></category></item><item><title><![CDATA[springboot项目打包成docker镜像并上传至docker hub]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/96299577</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/96299577</guid><author>wangyan_z</author><pubDate>Wed, 17 Jul 2019 16:37:03 +0800</pubDate><description><![CDATA[首先，推荐springboot官网提供的如何打包docker镜像的链接：https://spring.io/guides/gs/spring-boot-docker/#initial以及github上相对应的springboot+docker项目链接：https://github.com/spring-guides/gs-spring-boot-docker


0 背景

...]]></description><category></category></item><item><title><![CDATA[windows10 家庭中文版下载安装 docker]]></title><link>https://blog.youkuaiyun.com/wangyan_z/article/details/95966896</link><guid>https://blog.youkuaiyun.com/wangyan_z/article/details/95966896</guid><author>wangyan_z</author><pubDate>Mon, 15 Jul 2019 15:12:47 +0800</pubDate><description><![CDATA[0 背景

  系统：windows家庭中文版

  docker：Docker for Windows18.06.1-ce-win73


下载链接：https://pan.baidu.com/s/1BKYRxEc0sZHJ84gyPhHwBw  提取码：v5wa




1 开启Hyper-V

  在桌面新建 Hyper-V.cmd 文件，添加内容如下：


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