8 joexk

尚未进行身份认证

我要认证

点滴记录

等级
TA的排名 1w+

MySQL A表的字段值更新为B表的字段值

MySQL数据库涉及到多表更新方法方法一通过子查询关联UPDATE tableA a set a.b_rel_field = (SELECT b.id from tableB b where a.name = b.name);方法二使用逗号操作符的内连接UPDATE tableA a, tableB b SET a.price=b.priceWHERE ia.id = b.id;方法三使用SELECT语句中允许的任何类型的联接,比如内连接,左连接update tableA a

2020-07-31 23:55:10

基于MySQL正则表达式实现类似全库搜功能

一 需求项目要做一个类似Elasticsearch全库搜的小功能,但是数据存放在MySQL里面,数据量不是很大,使用模糊查询性能也还可以接受。一开始想直接用like,但是为了支持多个关键字查询,用like的话要循环字段进行拼装成如下的SQL语句:SELECT * from tableName WHERE field_a like '%关键字1%' OR field_a like '%关键字2%' OR field_a like '%关键字3%' OR field_b like '%

2020-06-30 21:58:11

SpringBoot 启动机制

一、前言二、起步依赖三、自动配置1.基于java代码的bean配置2.自动配置条件依赖3.Bean参数的获取4.Bean的发现5.Bean 加载四、总结一、前言springboot通过默认配置了很多框架的使用方式帮我们大大简化了项目初始搭建以及开发过程。本文的目的就是一步步分析springboot的启动过程,这次主要是分析springboot特性自动装配。那么首先带领大家回顾一下以往我们的web项目是如何搭建的,通常我们要搭建一个基于Spring的Web应用,我们需要做以下一些工作.

2020-05-31 16:05:28

SpringBoot web项目配置Https双向认证启动报错:InvalidAlgorithmParameterException

一 问题如下:server: tomcat: ... port: 9698 http-port: 9697 ssl: key-store: server.p12 key-store-password: 123456 key-store-type: PKCS12 key-alias: server enabled: true ...

2020-04-29 23:52:45

spring data jpa hql 默认的查询总数和SQL语句返回的条数不一致

一 问题spring data jpa hql 默认的查询总数和SQL语句返回的条数不一致,SQL语句如下:select distinct(a.group_id) from table_a aleft join table_b b on b.id = a.goup_idwhere a.state = 1 order by b.create_time desc;其中,table_a ...

2020-03-29 23:56:33

实现线程顺序执行的各种方法总结

一、实现方法总览使用线程的 join 方法使用主线程的 join 方法使用线程的 wait 方法使用线程的线程池方法使用线程的 Condition(条件变量) 方法使用线程的 CuDownLatch(倒计数) 方法使用 CyclicBarrier (回环栅栏)实现线程按顺序执行使用线程的 Sephmore(信号量) 实现线程按顺序执行二、具体实现我们下面需要完成这样一个应用...

2020-02-29 23:20:39

WdatePicker 限制选择最小最大日期

1 需求限制最小、最大日期选择,如最小日期只能选择上一年度日期,最大日期只能选择到当天日期。2 解决使用WdatePicker日期插件,设置minDate、maxDate,代码如下:<div class="form-group"> <label class="col-sm-2 control-label">日期<span class="red">*&l...

2019-12-29 17:50:49

前端传json数组参数,后台以List<DTO>接收

1 需求将前端选择的jqGrid多行记录作为参数传递至后台并保存。2 问题直接将json数组传递给后台,报415错误,说明前后台参数类型不匹配。3 解决查阅资料后,发现是没有设置contentType,修改后的代码如下:function addItems() { // 检查是否选择了数据 var selectedItems = $("#tableId").jqGrid("selec...

2019-11-30 21:40:41

监听input输入框值的变化,属性为readOnly的日期选择框

1 需求对日期选择框值的变化进行监听,当日期值不满足限定的范围时弹出提示:&lt;div&gt; &lt;label&gt;起始日期&lt;span class="red"&gt;*&lt;/span&gt;&lt;/label&gt; &lt;div style="width: 185px"&gt; &lt;input id="startTime" name="startTime" ...

2019-10-31 23:19:12

zookeeper 可视化日志文件报错:java.lang.NoClassDefFoundError: org/apache/jute/InputArchive

zookeeper 版本:3.5.51 问题zookeeper 查看日志/快照文件,执行日志可视化命令:# 查看快照文件java -cp ../../zookeeper-3.5.5/lib/zookeeper-3.5.5.jar;../../zookeeper-3.5.5/lib/slf4j-api-1.7.25.jar org.apache.zookeeper.server.Snaps...

2019-10-29 22:14:59

MySQL 列转行用法实现

需求需要将如下所示原始表数据转为结构化的数据按行显示:转为结构化数据:解决方法如果是单条记录通过SUBSTRING_INDEX容易实现,SQL语句如下:select name,SUBSTRING_INDEX(accounts,',',1) account from personAccounts where id=1UNIONselect name,SUBSTRING_INDEX(...

2019-09-30 22:48:57

#1093 - You can't specify target table 'tablename' for update in FROM clause 解决办法

MySQL版本:5.7.20操作表数据结构如下:一 需求将下级部门和上级部门关联,更新下级部门的parent_id 字段为上级部门的id字段值,SQL语句如下:UPDATE department set parent_id= (select id from department where department_name = 'dep_1')where department_leve...

2019-08-18 17:21:21

MySQL生成32位UUID

有时MySQL数据库某些表的ID需要使用UUID值(由一组32位数的16进制数字所构成)作为唯一识别码。可以通过MySQL自带的UUID() 函数来生成:select UUID();结果为:0a3eed30-9ad5-11e9-9835-b8ee6591991d这样获取的是带 “-” 分隔符的UUID,32位字符加上分隔符共36位,不符合要求,可以通过replace() 函数对获取到的U...

2019-06-30 09:36:49

Text file busy问题解决

1 问题在服务器上停掉jar包服务后,重新开始服务时报如下错误:-bash: /xxx/appService.jar: bad interpreter: Text file busy2 原因在执行service appService stop 时,本意是节省时间,在服务还未完全停止时,就通过ftp替换对应的jar包,此时ftp上传jar包处于阻塞状态,当时不明所以,就停止上传文件,但此时...

2019-05-18 22:39:09

Java8 stream数组转List

双重检查锁(Double-checked Locking)可以降低直接使用synchronized同步共享资源带来的性能开销,使用DCL实现延迟加载的代码如下:1 public class DoubleCheckedLocking {2 private static Instance instance;3 public static Instance getInstance() {4 ...

2019-05-04 20:26:56

ECharts折线图设置Y轴label是否显示及自定义X轴label

需求因为所展现的结果值是整数,而Y轴label随鼠标上下移动时,label会显示小数,所以想把label去掉,同时X轴的label想用自定义的label(数值后加上单位)。解决方法查看ECharts官网API的坐标轴属性设置,可以通过yAxis.axisPointer.label设置实现需求。注:tooltip.axisPointer.type 设置为 ‘cross’ 则默认显示标签,否...

2019-04-21 22:17:21

SpringBoot 接收远程服务器传递的字符串参数中文乱码

问题通过SpringBoot 接收远程服务器推送的数据(json字符串),传递的字符串参数中文乱码,英文、数字显示正常,中文全部显示为‘?’号。解决对方发送的编码方式为UTF-8,所以接收数据的时候也设置编码格式,在springboot中可以通过@RequestMapping注解的produces参数进行设置,如下:@RequestMapping(value = "/receiveData...

2019-03-31 08:48:35

通过反射获取实体对象的属性及对应的属性值

需求需要获取实体对象的属性及属性值作为key-value形式的NameValuePair参数,用于post请求的参数,为了避免一大段的get代码,考虑使用反射方式进行设置,示例代码如下:public class Person { private String name; private String sex; private String phone; pub...

2019-03-23 21:45:49

快速排序算法存在的问题及改进

一、存在的问题当数组长度较小时,不比其他排序算法高效,如插入排序;当数组为有序数组时,或者所选中轴数每次都是最小或最大的元素,造成每次分区都只有一个分区(每次分区后规模都只减1),得到最坏时间复杂度O(n^2)二、改进对于快排存在的问题,对应的改进方法如下:1.当划分到较小的子数组时,通常可以使用插入排序替代快速排序此时可以设定一个快排分区的阈值,当待排数组分区后的长度小于阈值时改...

2019-02-28 00:11:37

实现快速排序算法的另一种思路

一、快速排序算法快速排序的基本思想如下:从数组中取出一个数作为中轴数(pivot)划分数组:将比这个数大的数放到它的右边,小于或等于它的数放到它的左边再对左右区间重复上述步骤,直到各区间只有一个数二、实例排序分析样本数据:{5,8,4,3,2,5,7,9}中轴数pivot: 一般取待排序序列的第一个目标: 交换后, 中轴数左边的数要全部小于中轴数, 其右边的数要全部大于等于中...

2019-02-27 23:34:31

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。