自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 收藏
  • 关注

原创 ApiSix网关环境搭建及简单使用(Windows)

ApiSix 网关的简单使用,包括windows环境下的安装,启动,以及简单的路由转发测试,丰富的插件暂未涉及

2022-10-27 19:57:18 2878 1

原创 DISTINCT 和 GROUP BY 的实现区别及隐式排序

先说结论语义相同,都走索引情况下,两者效率差不多,distinct 可以看作是特殊的 group by语义相同,不走索引情况下,distinct 会更快一些,原因是 group by 可能会触发 filesort 进行排序测试DISTINCTGROUP BY隐式排序MySQL :: MySQL 5.7 Reference Manual :: 8.2.1.14 ORDER BY Optimization在 MySQL 8.0 之前,GROUP BY 会默认根据作用字段进行排序。在能

2021-11-18 11:47:02 1533

原创 ClickHouse 管理与运维(用户配置&权限配置&备份)

分析用户配置文件结构<?xml version="1.0"?><yandex> <profiles><!-- 类似于角色的作用,支持继承--> <default><!-- 自定义名称,默认角色--> <max_memory_usage>10000000000</max_memory_usage> <load_balancing&gt

2021-04-27 13:25:45 1064 2

原创 ClickHouse 物化视图 AggregatingMergeTree 使用示例

创建普通数据表create table agg_source( id UInt8, name String, city String, money UInt32)engine=MergeTree()partition by cityorder by id;插入数据insert into agg_source values(1, 'aa', 'SD', 200), (2, 'bb', 'SD', 200), (3, 'cc', 'SH', 200), (4, 'dd', 'BJ'

2021-04-27 10:24:36 1340

原创 字典树(Trie树)的 Java 实现

定义@Datapublic class TrieNode { private final int SIZE = 26; /** * 有多少个单词通过这个节点 */ private int num; /** * 所有的儿子节点 */ private TrieNode[] son; /** * 是不是结束节点 */ private boolean isEnd; /** * 节

2021-02-24 14:01:07 304

原创 Nacos 负载均衡

Nacos 负载均衡1. RestTemplate 方式配置类package com.cloud.demo.config;import org.springframework.cloud.client.loadbalancer.LoadBalanced;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org

2021-02-24 09:53:48 2142 5

原创 记录 EasyUI treegrid 表格加载慢问题

发现问题一个查询,数据不是很多,结构比较复杂,但是页面加载要 20s 左右打印时间发现查询和处理数据耗时很短这个操作 $(’#list’).treegrid(‘loadData’, data) 耗时很长解决方式所有涉及表头的字段都需要加 width,下面列举部分代码修改前var col = [ { title: 'xx', field: 'deptname' }, { title: 'xx', field: 'costs', align: 'center' }修改后var

2021-02-01 11:08:39 740

原创 记录 SpringBoot Jar包部署上传文件,预览文件(访问服务器文件)和 POI 解析 Excel

上传文件FileUtil 工具类public class FileUtil { public static String getUploadFilePath(String path) throws FileNotFoundException { File pathRoot = new File(ResourceUtils.getURL("classpath:").getPath()); if(!pathRoot.exists()) { p

2021-01-19 15:35:10 272

原创 Mybatis-Plus 基本配置

mybatis-plus: # mapper.xml 文件扫描 mapper-locations: classpath*:/mapper/*.xml configuration: # 是否开启自动驼峰命名转换规则(开启后自动将数据库的下划线命名方式转换为驼峰命名方式) map-underscore-to-camel-case: true # sql 打印日志 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

2021-01-18 10:07:24 488

原创 vue-admin-template 登录认证授权改造

1. 登录页文件目录 src/view/login/index.vue登录方法handleLogin() { this.$refs.loginForm.validate(valid => { if (valid) { this.loading = true // 调用的是 store/modules/user.js 里的 login 方法 this.$store.dispatch('user/login

2020-12-01 11:56:34 2518

原创 Axios 封装为 Restful 风格和跨域解决

axios 封装原文链接1. utils/http.jsimport axios from 'axios'// 环境的切换if (process.env.NODE_ENV === 'development') { axios.defaults.baseURL = ''} else if (process.env.NODE_ENV === 'debug') { axios.defaults.baseURL = ''} else if (process.env.NODE_ENV =

2020-10-28 16:55:32 564

原创 java 创建es文档时间Date类型格式化错误解决Elasticsearch exception [type=illegal_argument_exception, reason=Invalid f

es 中的mapper"time": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss || yyyy-MM-dd" }1.对象的 date 类型 添加 JsonFormat 注解@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date addTime;2.使用 jackson 将 object 转为

2020-10-19 16:27:56 6710 1

原创 Spring boot aop @before 调用两次或多次的问题分析

原因分析Aop 配置类加载了两次@Around 获取返回值操作不当解决方法配置类只需要加两个注解,其他地方无需修改@Aspect@Componentpublic class AopConfig {}获取返回值的错误操作// 错误版本@Around("log()") public Object around(ProceedingJoinPoint point) throws Throwable { System.out.println("arround

2020-10-15 13:36:46 1470

原创 java 调用 es restful api 使用 scroll 查询索引的全部数据

需求查询某个索引的全部数据,用于导出什么是 scroll 查询scroll 查询 可以用来对 Elasticsearch 有效地执行大批量的文档查询,而又不用付出深度分页那种代价。游标查询允许我们 先做查询初始化,然后再批量地拉取结果。 这有点儿像传统数据库中的 cursor 。游标查询会取某个时间点的快照数据。 查询初始化之后索引上的任何变化会被它忽略。 它通过保存旧的数据文件来实现这个特性,结果就像保留初始化时的索引 视图 一样。深度分页的代价根源是结果集全局排序,如果去掉全局排序的特性的话

2020-09-01 10:56:24 893

原创 Java 将 json 数组转为 excel 和 csv 并下载

准备1.需要一个 json 数据数组,格式如下[ { "screenWidth": 1280, "trackState": 1 }, { "screenWidth": 1280, "trackState": 1 }, { "screenWidth": 1280, "trackState": 1 }, { "screenWidth": 1280, "trackState": 1 }]2.工具包(操作JSO

2020-08-24 11:47:35 843

原创 LayUI 在 table 中 使用 select 选择框

需求在表格中用 select 选择数据并返回到后台实现所用扩展码云链接大佬已经介绍了如何使用,以下是我个人的使用记录使用情况(代码并不是连贯的)layui.config({ base: '/static/layui/' }).extend({ tableEdit: 'tableEdit/tableEdit' });var params = [ { name: "text"

2020-08-14 17:14:29 3920

原创 Java 使用 HttpClient 调用 es restful api 操作es

前言今天交付 ES 管理平台,因为 ES 有两套集群,分别是5.x 和 6.x 为了代码的通用性,需要把 Transport Client 的相关操作全部废弃,改为直接调用 rest api准备工作 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId&gt

2020-08-14 17:07:19 1522

原创 SpringBoot 整合 Shiro MD5 加密认证问题记录

一. springboot 整合 shiro1. 引入依赖<!-- shiro --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.1</version>

2020-08-11 14:37:01 193

原创 记录一次layui table 列宽设置失效的问题

table.render({ id: 'field', elem: '#demo', type: 'checkbox' , width: 600 , height: 350 ...

2020-08-06 16:21:08 2370

原创 Java 同步 Date 类型数据到 ES (非时间戳)

1.对象的 date 类型 添加 JsonFormat 注解@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date addTime;2.使用 jackson 将 object 转为 json // 定义jackson对象private static final ObjectMapper MAPPER = new ObjectMapper();BulkRequestBuilder bulkRequest

2020-08-04 11:06:42 1923

原创 LayUI+JQuery实现动态表单(搜索条件的动态增减)

效果图:元素解析:每一行代表一个 <form>,根据 id 来辨别,通过 layui 的 form.val() 方法获取值注意 layui 的 table 使用 where 会有缓存,所以需要在每次执行完查询之后将 where 的缓存内容置为空 即 done: function (res, curr, count) { this.where = {}; }代码html 部分<button class="layui-btn layui-bt...

2020-07-31 15:35:07 2141

原创 Mybatis 插入后返回自增主键 及 获取失败解决方法

注意:该方法只适用于 MySQL 和 SQLServer数据库使用属性useGeneratedKeys和keyPropertyuseGeneratedKeys(true/false):设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中keyProperty : 填写 java 对象的字段名称使用样例mapper<insert id="addUser" parameterType="xxx.xxx.model.xx" u

2020-07-29 10:46:50 969

原创 layui treetable-lay多选框checkbox默认选中

根据后端返回的 checked 字段来判断是否选中layui.config({ base: '/static/layui/' }).extend({ treeTable: 'treetable/treetable' }); layui.use(['treeTable'], function () { var $ = layui.jquery; var treeTa

2020-07-28 10:36:55 5089

原创 Layer提示框关闭父窗口并刷新父窗口

layer.open({ content: '操作成功' , closeBtn: 0 , btn: ['确定'] , yes: function (index, layero) { window.parent.location.reload(); var index = parent.layer.getFrameIndex(window.name); parent

2020-07-27 17:36:42 510

转载 MyBatis流式查询并同步数据到ES

1.配置MyBatis(百度很多,省略)2.配置ES引入依赖<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.2.0</version> <exclusions&g

2020-07-13 16:57:35 1126

原创 SQLServer查询所有字段并将xtype转换为字符串

查询语句select c.* from syscolumns c, sysobjects t where c.id = t.id and t.type = 'U' and t.name = ?查询结果中name表示字段名,xtype表示字段类型,但是用数字表示的,进行转换switch (num) { default: result = "VARCHAR"; case "34": resul

2020-07-13 15:55:25 673

原创 Play Hibernate报错 No Dialect mapping for JDBC type: -9

原因分析:       所查询的表中有一个字段类型为nvarchar,hibernate只有varchar -> String 的映射,没有关于nvarchar的映射,导致报错。解决方法:     为返回值类型声明为StringQuery query = JPA.em(xx).createNativeQuery(SQL);query.unwrap(SQLQuery.clas

2020-07-06 15:08:37 143

原创 @ResponseBody给ajax返回json数据中文乱码

在springMVC.xml配置文件中添加<mvc:annotation-driven > <!-- 消息转换器 --> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter">

2020-06-30 18:36:20 188

原创 es java api 进行聚合+桶聚合查询 terms+top_hits+max

假设1个member有多个参加的meeting(会议),每个meeting可多次参加,每次参加对应一条参加时间和备注记录需求: 获取某个member的所有meeting的最新一条记录查询语句{ "query": { "term": { "memberid": "2136476" } }, "aggs": { "group": { "terms": { "field": "meetingid", "order":

2020-06-30 11:14:09 6071 7

原创 Java从数据库获取时间类型数据转换为Date后只显示日期,缺少时间

mysql中保存的addtime2020-06-28 09:06:33Java获取后转换为Date后2020-06-28 00:00:00解决方法(rs为ResultSet)错误:Date time = rs.getDate(“addtime”);正确:Date time = new Date(rs.getTimestamp(“addtime”).getTime));

2020-06-28 09:10:17 1570 2

原创 ES启动报错ClassNotFound:org.elasticsearch.transport.TcpChannel或org.elasticsearch.plugins.NetworkPlugin

transport的依赖会引入es2.4.5版本,需要引入正确的版本 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.2.0</version> </dependency

2020-06-23 13:24:43 1336 1

原创 Play Framework 从数据库中读取到Elastic Search

今天看公司项目的源码,自己简单的实现一下public static void add() throws SQLException { // jdbc连接配置 String url = "jdbc:mysql://localhost:3306/canteen"; String user = "username"; String password = "password"; String indexSQL = "select * fro

2020-06-19 16:16:59 188

原创 spring boot+Vue使用websocket实时监测订单变化

config@Configuration@ConditionalOnWebApplicationpublic class WebSocketConfig { //使用boot内置tomcat时需要注入此bean @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); } @Bean pub

2020-06-10 14:00:50 1838

原创 Layer btnAlign 失效问题解决方法

原因分析:因为我是在easyui里引入的layer,可能css之间有冲突,导致layer的btnAlign属性失效解决方案:使用success回调函数来手动更改layer.alert('对已使用当前标准数据,将进行一键更新', {offset: '100px', btn: ['知道了'], success: function (layero, index) { var btn = layero.find('.layui-layer-btn');

2020-06-01 13:19:30 1771 2

原创 IDEA社区版常用插件整理

IDEA社区版常用插件整理Alibaba Java Coding Guidelines 代码规范提醒CodeGlance 代码编辑区迷你缩放图,当代码行数过多时可以通过预览图快速定位Codota 智能补全代码,很好用Database Navigator 可以在idea连接mysql等主流数据库,进行查询等各种操作Gerp Console 控制台彩色分类显示Lombok 懂得都懂,必备Material Theme UI 皮肤主题插件,用了之后心情都变好了Maven Helper 优化Mave

2020-05-29 09:20:33 13006 5

原创 EasyUI datebox 传值 后端Java取值问题记录

datebox传的值类型为String而不是date,需要自己转例如:前端选择日期08/05/2020String day = xxx.substring(6, 10)+"-"+xxx.substring(3, 5)+"-"+xxx.substring(0, 2);SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");Date date = dateFormat.parse(day);...

2020-05-09 15:13:14 305

原创 Vue延时函数setTimeout

单位是毫秒 setTimeout(() => { //代码 }, 1000);

2020-05-08 14:58:54 15790

原创 org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet. ServletCo

org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet. ServletContainerInitializer最近在公司实习,发给我一个ssm的项目,启动时报错,找解决方法找了比较久,所以记录一下。原因分析:项目的pom.xml配置了javax.servlet选项与to...

2020-05-07 09:27:50 1018

转载 JavaMail实现注册邮箱验证案例

原文链接:https://www.jianshu.com/p/8f8d7a46888f在日常生活中,我们在一个网站中注册一个账户时,往往在提交个人信息后,网站还要我们通过手机或邮件来验证,邮件的话大概会是下面这个样子的:用户通过点击链接从而完成注册,然后才能登录。也许你会想,为什么要这么麻烦直接提交注册不就行了吗?这其中很大一部分原因是为了防止恶意注册。接下来让我们一起来使用最简单...

2020-04-30 15:18:17 1839

原创 JavaWeb使用websocket服务端向客户端发送消息

原文链接1原文链接2前端<%@ page language="java" pageEncoding="UTF-8" %><!DOCTYPE html><html><head> <title>Java后端WebSocket的Tomcat实现</title></head><body>...

2020-04-26 14:54:23 3564 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除