<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wangxj_2017的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wangxj_2017</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangxj_2017]]></copyright><item><title><![CDATA[springboot 中@Scheduled不生效]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/120450737</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/120450737</guid><author>wangxj_2017</author><pubDate>Fri, 24 Sep 2021 10:59:50 +0800</pubDate><description><![CDATA[工作中遇到的问题，记录一下，启动后定时不生效


public class testScheduled(){
    
    @Scheduled(cron = "0/1 * * * * ?")
    public void test(){
        System.out.println(11111);
    }
}

修改成这样就OK 了。


@Component
@EnableScheduling
public class testScheduled(){
    
    @Schedu]]></description><category></category></item><item><title><![CDATA[autocomplete自动加载]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/120129996</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/120129996</guid><author>wangxj_2017</author><pubDate>Mon, 06 Sep 2021 11:32:17 +0800</pubDate><description><![CDATA[记录一下，工作中遇到自动加载的功能，之前一般使用change 事件触发，这次使用的autocomplete 完成自动加载功能。

先引入相关js


&lt;script src="${base}/resources/basic/js/edi/modules/jq_ui/js/jq_ui.min.js"&gt;&lt;/script&gt;

输入框


&lt;input type="text" id="tags" class="u-ipt" placeholder="名称"&gt;

关键的js 部分
]]></description><category></category></item><item><title><![CDATA[Kettle 的多分支重复发邮件]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/119892125</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/119892125</guid><author>wangxj_2017</author><pubDate>Tue, 24 Aug 2021 16:13:16 +0800</pubDate><description><![CDATA[记录一下工作中遇到的问题。最近在数据同步中遇到一个问题，一个Job 任务，定时执行，比对两个库中 一些表的字段是否一致，如果出现字段不一致的时，就发送邮件。

问题描述：一个job 的分支出现比对 字段不一致就会发邮件，但是每次定时执行后，就会重复的发送同封邮件，我遇到是连续发 4封一样的邮件。

大致job 是这个样子的：





这个job 有四个分支，分别比对不同数据库中的表字段是否一致。

问题的原因：

1.是start



配置了 “重复” ，类型时间间隔，

2.部署linux 服务器后.]]></description><category></category></item><item><title><![CDATA[oralce 同步数据的 id 自增的坑]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/119727247</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/119727247</guid><author>wangxj_2017</author><pubDate>Mon, 16 Aug 2021 10:47:05 +0800</pubDate><description><![CDATA[记录一下工作中遇到的问题，用的数据库是oralce。

解决办法：去掉实体的上的


@GeneratedValue(strategy= GenerationType.AUTO)



描述：跨库同步两张表的数据，从A库将数据同步到B库中 tableA表和tableB表。其中tableB的要求ID 自增。我先找到了 tableB 表中最大的ID ，假设为 5000，接下来将数据同步到tableB表。结果直接报错了，talebB 中 id 已存在。

主要代码如下：


xxxx.setId(5000+i)
]]></description><category></category></item><item><title><![CDATA[update 更新字段的大坑之字段被置为null]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/119681510</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/119681510</guid><author>wangxj_2017</author><pubDate>Fri, 13 Aug 2021 18:28:00 +0800</pubDate><description><![CDATA[工作中遇到的，A表 更新 B 表的 某个字段值，遇到一个大坑。update 要加where ,要加where,要加where。

先创建两个测试表：


CREATE TABLE test_001 (
  id                        VARCHAR2(10) not null,
  NAME   VARCHAR2(10) 
  )
  
  
  
  CREATE TABLE test_002 (
  id                        VARCHAR2(10) n]]></description><category></category></item><item><title><![CDATA[springboot定义全局变量给freemaker]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/118932659</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/118932659</guid><author>wangxj_2017</author><pubDate>Tue, 20 Jul 2021 13:15:45 +0800</pubDate><description><![CDATA[springboot定义全局变量给freemaker
工作中遇到的问题，记录一下。项目中有些变量可能会频繁的修改，并且是在一些公共的页面上，例如head.html 、 footer.html 中。于是想将这里频繁修改的变量统一抽取出来，放到配置文件中，在项目启动的时候，获取配置文件中的变量，并加载给页面。废话不多说了，直接上代码吧。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframewor]]></description><category></category></item><item><title><![CDATA[多线程的下的死锁问题排查]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/116447392</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/116447392</guid><author>wangxj_2017</author><pubDate>Thu, 06 May 2021 10:09:05 +0800</pubDate><description><![CDATA[记录一下，工作中遇到的多线程死锁问题，问题描述：多线程清洗一批数据，早上上班，去数据库中看看已经清洗的数据量，结果没有变化，还是上周的数据量。

连上服务器，看看数据清洗的服务的情况。查看服务的进程号：


jps -l  或者  ps -ef|grep xxx

找到进程号后，我的进程号是 22367


jstack 22367

于是看到一堆信息，我这里就直接全部贴上：


Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.121-b13 m]]></description><category></category></item><item><title><![CDATA[springboot的yml文件突然不是绿色的叶子]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/116367506</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/116367506</guid><author>wangxj_2017</author><pubDate>Mon, 03 May 2021 06:30:29 +0800</pubDate><description><![CDATA[问题描述，晚上直接关电脑，第二天开机后，打开Idea 发现昨天yml还是绿色叶子，今天却不是了，导致项目一堆报错。

按照网上描述的一顿操作，结果并不好使，或者说我操作有问题吧。

于是想到了 Invalidate Caches 一下，之前也试过，用的是 just restart,也是不好使的。

后面idea 清一下缓存的重启就OK了。



特此记录一下，如有问题欢迎指正。
...]]></description><category></category></item><item><title><![CDATA[java 构建省市县的三级树]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/115947833</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/115947833</guid><author>wangxj_2017</author><pubDate>Wed, 21 Apr 2021 14:05:38 +0800</pubDate><description><![CDATA[工作中遇到需要构建省市县的三级树结构，这里参考了 https://www.cnblogs.com/shiyun32/p/12104949.html ，非常感谢，非常不错的案例。

我这里需要的数据格式这这样的：



数据库的部分数据如下：



直接上代码，首先创建一个bean类，进行封装数据，(可以直接用户Map,但用来比较费劲，我还是采用将数据库中的数据封装到bean 中，更直接些）


public class UnCdeAreaBean implements Serializable {

	pr]]></description><category></category></item><item><title><![CDATA[延迟初始化对象不是线程安全的]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/115621992</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/115621992</guid><author>wangxj_2017</author><pubDate>Mon, 12 Apr 2021 14:46:27 +0800</pubDate><description><![CDATA[记录一下工作中遇到的问题，代码安全扫描的时候，遇到线程安全的问题。


在程序开发中，有时需要推迟一些高开销的对象初始化操作，并且只有在使用这些对象时才进行初始化，此时开发者可能会采用延迟初始化。但要正确实现线程安全的延迟初始化需要一些技巧，否则容易出现问题，如下面例子所示。
**例1**：下面代码示例中：延迟初始化对象不是线程安全的。

在例1中，假设A线程执行代码1的同时，B线程执行代码2。此时，线程A可能会看到instance引用的对象还没有完成初始化。
对应的解决方式，可以对`getInstance]]></description><category></category></item><item><title><![CDATA[dockerFile常用关键字记录]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/115620893</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/115620893</guid><author>wangxj_2017</author><pubDate>Mon, 12 Apr 2021 14:21:43 +0800</pubDate><description><![CDATA[最近学习尚硅谷周阳老师的Docker教程，感谢，感谢，感谢，阳哥。

记录一下DockerFile 的常用关键字，便于查阅。




]]></description><category></category></item><item><title><![CDATA[单个省的地图展示]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/115390797</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/115390797</guid><author>wangxj_2017</author><pubDate>Fri, 02 Apr 2021 12:22:57 +0800</pubDate><description><![CDATA[工作记录一下，之前用echarts 做了一个全国的地图，现在需求改成要做某一个省份的地图。

这里以黑龙江省的地图为例。

1.首先要显示黑龙江省的地图，得要黑龙江的地图数据吧。

数据可以从这里下载：

http://datav.aliyun.com/tools/atlas/#&amp;lat=30.332329214580188&amp;lng=106.72278672066881&amp;zoom=3.5

选择自己需要的省的数据，我这里用的黑龙江省，选择的是geojson 方式下载：如下图：



]]></description><category></category></item><item><title><![CDATA[freemarker 页面属性判断null和空串的问题]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/115342534</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/115342534</guid><author>wangxj_2017</author><pubDate>Wed, 31 Mar 2021 09:50:39 +0800</pubDate><description><![CDATA[最近工作遇到一个freemarker的问题，记录一下。

前台页面 进行了属性的判空，采用的是


&lt;#if user.phone??&gt;

这里的 ?? 只是判断user.phone的 phone 是属性是不是null，并不能判断 是不是空字符串。

由于后台对user 对象 进行了处理，导致从数据库中查出来的phone 字段的值 由 原来的 null 变成了空字符串 “”

使前台页面属性判断是不是null 失效了。

注意：

判断属性是不是null ，使用


&lt;#if u...]]></description><category></category></item><item><title><![CDATA[echarts之静态与动态地图]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/109673131</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/109673131</guid><author>wangxj_2017</author><pubDate>Fri, 13 Nov 2020 14:38:12 +0800</pubDate><description><![CDATA[这里写自定义目录标题
工作中多次遇到数据可视化的开发，记录一下。
地图效果：
静态页面：
&lt;!DOCTYPE html&gt;
&lt;head&gt;
    &lt;style&gt;
        #chartMap1 {
            position: absolute;
            left: 0px;
            top: 0px;
            width: 1030px;
            height: 650px;
      ]]></description><category></category></item><item><title><![CDATA[java 多线程知识点导图]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/109530088</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/109530088</guid><author>wangxj_2017</author><pubDate>Fri, 06 Nov 2020 13:44:15 +0800</pubDate><description><![CDATA[java 多线程知识点记录
最近复习java多线程的知识点，学习github 上javaGuide。记录一下学习笔记。弄成了导图的形式，便于复习。


]]></description><category></category></item><item><title><![CDATA[@Column 的位置需一致：java实体与实体继承，找不到属性的原因]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/108382652</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/108382652</guid><author>wangxj_2017</author><pubDate>Thu, 03 Sep 2020 15:00:31 +0800</pubDate><description><![CDATA[工作遇到实体A 继承 实体B，查询时遇到 “找不到属性”，如图：


nested exception is org.hibernate.MappingException: Unknown entity: java.util.ArrayList

问题描述：在hql查询的list 的时候，如图：


String hqlAccept = "from xxx t where t.cdBatch = ? ";
List&lt;xxx&gt; acceptList = xxxTwoServiceImpl.find]]></description><category></category></item><item><title><![CDATA[WdatePicker的起始和结束时间的限制]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/107862440</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/107862440</guid><author>wangxj_2017</author><pubDate>Fri, 07 Aug 2020 14:59:42 +0800</pubDate><description><![CDATA[工作中遇到一个关于时间的问题，记录一下：

1、开始时间不能大于结束时间；

2、开始时间不小于特定的日期（这里我的开始时间不能小于2020-05-01）


 &lt;tr id="prcent"&gt;
                                        &lt;td class="f-tac"&gt;&lt;label for=""&gt;请选择开始时间：&lt;/label&gt;&lt;/td&gt;
                                 .]]></description><category></category></item><item><title><![CDATA[数据太长，将字段varchar2 改成 clob]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/107310840</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/107310840</guid><author>wangxj_2017</author><pubDate>Mon, 13 Jul 2020 09:58:19 +0800</pubDate><description><![CDATA[工作中遇到接口返回数据过长，导致入库异常。记录一下

实体类：


   private String responseData;

    @Lob
    @Basic(fetch = FetchType.EAGER)
    @Column(name="RESPONSE_DATA", columnDefinition="CLOB", nullable=true)
    public String getResponseData() {
        return responseData;
   ]]></description><category></category></item><item><title><![CDATA[生成导出一段时间内所有周五的数据，生成列表和其对应的分sheet表格]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/106817515</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/106817515</guid><author>wangxj_2017</author><pubDate>Wed, 17 Jun 2020 20:20:39 +0800</pubDate><description><![CDATA[工作中遇到 分页导出（周五）数据表格，导出一个时段的周五的数据，分页sheet表单和对应的列表。一段时间内每个周五在Excel中生成列表中的一条数据和一个表格。

这里主要的记录一下分页sheet表单功能。


public static void main(String[] args) throws Exception {


        /*
         * 分sheet导出查询记录
         */
        List&lt;TimeDay&gt; foolist=getStud]]></description><category></category></item><item><title><![CDATA[for循环的一点优化]]></title><link>https://blog.youkuaiyun.com/wangxj_2017/article/details/106384715</link><guid>https://blog.youkuaiyun.com/wangxj_2017/article/details/106384715</guid><author>wangxj_2017</author><pubDate>Wed, 27 May 2020 16:51:47 +0800</pubDate><description><![CDATA[看博客时，看到一个好的知识点，在此记录一下（平时写代码也没注意）。

参考博客：https://www.cnblogs.com/cxxjohnson/p/6730500.html

循环内不要创建引用对象。

例如：


for(int i = 0 ; i &lt; size ;i++){
    
    Object o = new Object();
    
}

这种做法会导致内存中有size份Object对象引用存在，size很大的话，就耗费内存了，建议为改为：


Object o = nul]]></description><category></category></item></channel></rss>