<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[miskss的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wanping321</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wanping321]]></copyright><item><title><![CDATA[JPA实体主键使用自增长的策略下，使id在Null的情况使用数据库自增长的值，不为Null的情况下使用设置的值]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/125373657</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/125373657</guid><author>wanping321</author><pubDate>Mon, 20 Jun 2022 17:29:51 +0800</pubDate><description><![CDATA[内网入库的发现，JPA主键是自增长的策略，即使id不为空，但是保存的数据后还是会使用数据库的自增长的id，未使用id值，导致两边的数据不一致。期望：使用自定义主键生成策略，继承原有主键自增长策略实现类,重新实现
使用方法
3. 源码解析
由于JPA默认的实现是Hibernate，方法最终会调用hibernate的来完成入库。
项目启动时会扫描所有的标记的实体，转换成，该persister包含实体类的源数据信息以及对应的插入，修改、删除的sql语句模板信息
通过实体类的persister 获取主键生成器，通过]]></description><category></category></item><item><title><![CDATA[JPA实现领域驱动设计(DDD) 中值对象的持久化]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/109649481</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/109649481</guid><author>wanping321</author><pubDate>Thu, 12 Nov 2020 18:38:42 +0800</pubDate><description><![CDATA[文章目录什么是DDD值对象？实现方式单一值对象改变表中映射的字段的名称根据值对象的单一属性查询或多属性的动态查询多个值对象根据值对象的单一属性查询或多属性的动态查询
什么是DDD值对象？
什么领域驱动设计(DDD) 值对象？？
实现方式
利用JPA 中的@Embeddable和@Embedded两个注解来实现值对象的持久化
单一值对象
单一对象可以利用嵌入的方式将值对象的属性映射到实体类，将值对象的属性 映射成表的字段 。

录入学生信息时，需要一个家庭住址的信息，则这个地址信息则可以设计成一个值对象Add]]></description><category></category></item><item><title><![CDATA[Jpa 自动更新表中的创建日期和修改时间]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/109047091</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/109047091</guid><author>wanping321</author><pubDate>Tue, 13 Oct 2020 11:36:14 +0800</pubDate><description><![CDATA[一般来说创建时间和修改时间 两个字段是一个实体类必备的。在阿里Java开发手册中也对此的说明：


【强制】表必备三字段：id, create_time, update_time。
说明：其中 id 必为主键，类型为 bigint unsigned、单表时自增、步长为 1。create_time, update_time
的类型均为 datetime 类型，前者现在时表示主动式创建，后者过去分词表示被动式更新。


mysql 添加时间自动添加更新时间自动更新
在JPA 中也是支持新的数据保存是自动写入创建]]></description><category></category></item><item><title><![CDATA[多线程工具-CountDownLatch、CyclicBarrier、Semaphore]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/108518197</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/108518197</guid><author>wanping321</author><pubDate>Fri, 11 Sep 2020 17:38:47 +0800</pubDate><description><![CDATA[多线程工具-CountDownLatch、CyclicBarrier、SemaphoreCountDownLatch核心方法构造函数CountDownLatch(int count)await（）countDown()await(long timeout, TimeUnit unit)示例CyclicBarrier
CountDownLatch
A synchronization aid that allows one or more threads to wait until a set of 
oper]]></description><category></category></item><item><title><![CDATA[基于注解的方式封装一个通用的Excel下载输出工具类]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/103879048</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/103879048</guid><author>wanping321</author><pubDate>Tue, 07 Jan 2020 18:03:37 +0800</pubDate><description><![CDATA[1.首先引入Excel导出插件fastexcel文档地址，maven 依赖
	&lt;dependency&gt;
    &lt;groupId&gt;org.dhatim&lt;/groupId&gt;
    &lt;artifactId&gt;fastexcel&lt;/artifactId&gt;
    &lt;version&gt;0.10.11&lt;/version&gt;
	&...]]></description><category></category></item><item><title><![CDATA[Spring Cache]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/102608486</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/102608486</guid><author>wanping321</author><pubDate>Thu, 17 Oct 2019 15:40:46 +0800</pubDate><description><![CDATA[文章目录前言Redis安装在Springboot中引入缓存1.依赖2.配置缓存3.简单示例4.简单控制的示例根据方法的参数或结果来插入缓存的示例缓存的TTL(过期时间)1.全局的TTL设置2.对某些cacheNames进行定制使用缓存方法的注意事项源码地址
前言
最近新项目中要使用缓存，但是发现的之前的缓存知识忘的差不多了，所以又重新梳理了一下记录下来。
Redis安装
由于Redis官方目前没有...]]></description><category></category></item><item><title><![CDATA[使用边界坐标来查找距某个纬经度一定范围内的点]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/100986833</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/100986833</guid><author>wanping321</author><pubDate>Wed, 18 Sep 2019 18:04:44 +0800</pubDate><description><![CDATA[原文地址：http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates#RefBronstein
使用边界坐标来查找距某个纬经度一定范围内的点
摘要
本文介绍如何有效地在数据库中查询与球面坐标（纬度和经度）中给出的点之间一定距离内的位置。该方法计算可用于数据库索引扫描的边界坐标 - 就像我们使用最小边界矩形来加速笛卡尔空间中的查询一样。它对...]]></description><category></category></item><item><title><![CDATA[Java8 Stream 操作 Collectors.toMap(）会出现NullPointerException异常]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/97389347</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/97389347</guid><author>wanping321</author><pubDate>Fri, 26 Jul 2019 16:14:34 +0800</pubDate><description><![CDATA[java.lang.NullPointerException
	at java.util.HashMap.merge(HashMap.java:1225)
	at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320)
	at java.util.stream.ReduceOps$3ReducingSink.accept(...]]></description><category></category></item><item><title><![CDATA[获取上一周、上一个月的开始和结束日期]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/95078279</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/95078279</guid><author>wanping321</author><pubDate>Mon, 08 Jul 2019 17:47:53 +0800</pubDate><description><![CDATA[获取某个日期的上一周的开始和结束日期
	/**
     * 获取 date 日期 的上一周的开始结束日期，即使给定的日期是周一 也会 计算上一周的日期
     *
     * @param date 基准日期点
     * @return [0]:上一周的开始日期；[1] 上一周的结束日期
     */
    public static LocalDate[] getLastWeek(...]]></description><category></category></item><item><title><![CDATA[中国城市名列表及code]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/92806647</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/92806647</guid><author>wanping321</author><pubDate>Wed, 19 Jun 2019 10:41:40 +0800</pubDate><description><![CDATA[爬取国家统计局发布的 2018年统计用区划代码和城乡划分代码(截止2018年10月31日)
项目源码
数据json文件
json 数据
[
  {
    "code": null,
    "name": "新疆维吾尔自治区",
    "cities": [
      {
        "code": "650100000000",
        "name": "乌鲁木齐市"
    ...]]></description><category></category></item><item><title><![CDATA[Redis序列化 Java8的时间Instant、LocalDateTime、LocalDate]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/92768069</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/92768069</guid><author>wanping321</author><pubDate>Tue, 18 Jun 2019 10:45:24 +0800</pubDate><description><![CDATA[org.springframework.data.redis.serializer.SerializationException: 
Could not read JSON: Cannot construct instance of java.time.Instant (no Creators, like default construct, exist): cannot deserialize ...]]></description><category></category></item><item><title><![CDATA[Springboot JPA  枚举Enum类型存入到数据库]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/90269057</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/90269057</guid><author>wanping321</author><pubDate>Thu, 16 May 2019 18:06:56 +0800</pubDate><description><![CDATA[1、使用JPA 的@Enumerated	注解	，可以直接将Enum映射到数据库中。但是value的值只有两种方式选择，一种是使用枚举的序号映射，一种是枚举的名称来映射。
public enum EnumType {
    /** Persist enumerated type property or field as an integer. */
    ORDINAL,

    /** P...]]></description><category></category></item><item><title><![CDATA[SpringBoot异常处理机制及源码解析]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/89681251</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/89681251</guid><author>wanping321</author><pubDate>Mon, 29 Apr 2019 19:14:02 +0800</pubDate><description><![CDATA[SpringBoot 异常处理官方文档
启动一个springboot 项目后，访问一个不存在的页面，浏览器则产生一个错误的白页，而使用客户端工具返回的是一个json格式的数据。


常见的400/500错误也是如此。
为什么同一个地址，不同的客户端访问会产生不同的响应呢？

The BasicErrorController can be used as a base class for a cus...]]></description><category></category></item><item><title><![CDATA[使用Maven 来搭建多模块（Module）的Springboot 项目]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/89672525</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/89672525</guid><author>wanping321</author><pubDate>Mon, 29 Apr 2019 12:54:42 +0800</pubDate><description><![CDATA[官方文档
视频链接
简单的模块结构
project  项目
└──  repository 模块
└──  service  模块
└── controller 模块
其中 controller 依赖 service 和repository 模块，service 模块依赖 repository 模块。项目使用idea 来创建
创建项目

springboot 项目默认选择的是Maven Proje...]]></description><category></category></item><item><title><![CDATA[mysql sql计算经纬度]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/89334307</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/89334307</guid><author>wanping321</author><pubDate>Tue, 16 Apr 2019 15:27:50 +0800</pubDate><description><![CDATA[原文地址：https://stackoverflow.com/questions/1006654/fastest-way-to-find-distance-between-two-lat-long-points
SELECT 
  name, 
   ( 6371 * acos( cos( radians(' 待计算点的纬度') ) * cos( radians( db_table.lat ) )...]]></description><category></category></item><item><title><![CDATA[MySQL the configuration step Starting Server is taking the longer than expected]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/88776694</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/88776694</guid><author>wanping321</author><pubDate>Sun, 24 Mar 2019 14:47:36 +0800</pubDate><description><![CDATA[今天电脑上装的MySQL 突然不能启动了，于是就删除之后重新安装。但是在MySQL installer 中 init DataBase 之后却一直卡在starting Server 的流程上。
提示信息
the configuration step Starting Server is taking the longer than expected。
最后在google上找到了问题所在。原文地址-...]]></description><category></category></item><item><title><![CDATA[SpringBoot 发布ApplicationEventPublisher和监听ApplicationEvent事件]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/86667216</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/86667216</guid><author>wanping321</author><pubDate>Sun, 27 Jan 2019 16:48:32 +0800</pubDate><description><![CDATA[实现方法

自定义需要发布的事件类，需要继承ApplicationEvent类或PayloadApplicationEvent&amp;amp;amp;amp;amp;lt;T&amp;amp;amp;amp;amp;gt;(该类也仅仅是对ApplicationEvent的一层封装)
使用@EventListener来监听事件
使用ApplicationEventPublisher来发布自定义事件（@Autowired注入即可）

/**
 * 自定义保存事件
 * @aut...]]></description><category></category></item><item><title><![CDATA[Springboot Jpa自定义查询的结果集]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/86630403</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/86630403</guid><author>wanping321</author><pubDate>Thu, 24 Jan 2019 17:46:36 +0800</pubDate><description><![CDATA[如果要自定义查询的结果集有3种方法：

使用List&amp;amp;lt;Object[]&amp;amp;gt;来接收结果，只支持原生sql查询。
使用自定义对象来接收结果，支持JPA，JPQL查询。
使用自定义的接口来映射结果，支持JPA，JPQL，原生sql查询。

官网文档链接 https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#pro...]]></description><category></category></item><item><title><![CDATA[Android  百度地图两点画弧线]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/85990561</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/85990561</guid><author>wanping321</author><pubDate>Mon, 07 Jan 2019 10:59:53 +0800</pubDate><description><![CDATA[import android.support.annotation.NonNull;

import com.baidu.mapapi.map.ArcOptions;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.model.LatLng;

/**
 *
 * &amp;lt;a&amp;gt;http://lbsyun....]]></description><category></category></item><item><title><![CDATA[使用多线程来执行业务，降低方法的耗时]]></title><link>https://blog.youkuaiyun.com/wanping321/article/details/85792758</link><guid>https://blog.youkuaiyun.com/wanping321/article/details/85792758</guid><author>wanping321</author><pubDate>Fri, 04 Jan 2019 19:00:55 +0800</pubDate><description><![CDATA[import org.junit.Test;

import java.util.concurrent.*;

/**
 * @author peter
 * 2019/1/4 16:58
 */
public class ThreadTest {
    @Test
    public void test() throws InterruptedException, ExecutionExce...]]></description><category></category></item></channel></rss>