自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Keep on moving!

种一棵树最好的时间是十年前,其次是现在。

  • 博客(61)
  • 收藏
  • 关注

原创 SQL优化——Range checked for each record

百度了一下,这个原因是因为关联表的字符集不一致,导致索引失效,改为相同字符集之后效率大大增加。

2023-06-28 10:54:48 822

原创 vue-动态生成的按钮单独添加loading效果

项目中动态生成了多个按钮,但是v-loading设置了同一个属性,导致提交的时候,多个按钮都一起加载loading效果。

2023-05-29 23:11:59 1506

原创 SpringBoot 实现统一参数校验

一、业务需求与第三方平台对接,第三方调用接口实现数据上报。由于接口传参较多,要对每一个参数做校验,如果写工具类对每个参数校验会很麻烦,因为,使用springboot自带的校验功能实现对参数的统一校验,大大减少代码量,通过注解的方式,使代码更加简洁。二、具体实现首先说明下传参的格式,因为传参的格式不同也会影响注解的使用。由于文档格式是之前的同事定好,所以不好随意更改,只能按照他这种格式写。{ "info": [ { "param": "320106",

2022-03-02 14:51:43 2142

原创 利用@JsonProperty隐藏不需要返回的字段

实现由于接口对接规范的原因,有时候,有的对接文档接口传参和返回全部"帕斯卡命名法",而在我们的程序中,属性一般都是用小驼峰命名,所以就需要利用注解进行转换,其中有些字段可能只需要前端传,不需要后端返回,需要隐藏,也可利用注解实现。 @ApiModelProperty("审批人") @JsonProperty(value = "ApprovalName") private String approvalName; @ApiModelProperty("分页参数")

2022-01-27 16:44:07 1902

原创 Vue-侦听器实现嵌套数据结构的自动计算

一、 计算属性的使用监听器的使用很简单,官方文档提供的示例也很清晰,但是就是案例过于简单,针对复杂点的数据结构不知道怎么处理,经过多次实践,找到了解决方法。案例页面展示需求是页面填写项费用的时候,自动计算总计。 costList: [ { mealCost: "", parkingCost: "", etcCost: "", rentCost:"", totalCost:"",

2022-01-18 15:48:34 294

原创 创建型设计模式——工厂方法模式

一、定义工厂方法模式(Factory Method Pattern),又叫做多态性工厂模式,指定义一个创建对象的接口,但由实现这个接口的类来决定实例化哪个类,工厂方法把类的实例化推迟到子类中进行。工厂类不再是单一一个类生产产品,而是由工厂类的子类实现具体产品的创建。因此,增加一个产品时,只需要增加相应的工厂类的子类。其解决了简单工厂模式生产太多产品导致内部代码臃肿(switch…case过多)的问题,也符合开闭原则。二、应用场景创建对象需要大量重复的代码。客户端(应用层)不依赖产品类实例如何

2021-11-07 22:00:36 90

原创 创建型设计模式——简单工厂模式

一、定义Simple Factory Pattern,又叫做静态工厂方法模式。简单来说,简单工厂模式有一个具体的工厂类,可以生成多个不同的产品。二、应用场景对于产品种类相对较少的情况,考虑使用简单工厂模式可以很方便地创建所需产品。使用简单工厂模式的客户端只需要传入工厂类的参数,不需要关心如何创建对象的逻三、通用写法以下是简单工厂模式的通用写法。public class Client { public static void main(String[] args) { new SimpleF

2021-11-03 22:58:03 78

原创 SpringBoot添加pagehelper-spring-boot-starter依赖报错

一、问题原因——依赖冲突报错 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version> <exclusions

2021-08-16 23:55:49 3107 1

原创 ElementUI 设置分割线样式

竖型分割线样式使用 “<el-divider></el-divider>”,样式自定义。.el-divider--vertical { display: inline-block; weight: 1px; height: 70%; margin: 0 8px; background: 0 0; border-left: 2px dashed #e8eaec; position: relative;}结果:...

2021-08-09 20:57:15 15483

原创 SQL调优—Range checked for each record (index map: 0x1)

问题使用explain查看sql语句的执行计划,发现Extra给出了Range checked for each record (index map: 0x1)这个提示。我写的sql语句是一个left join关联查询,关联其他表效率都正常,唯独关联其中一张表,就查询的特别慢,经过查找资料,终于发现,原来是关联查询的连接条件使用的字段,在mysql数据库中的排序方式设置的不一致:统一两个关联字段的排序方式后,效率大幅提高。...

2021-07-20 10:07:16 5470

原创 van-list的:immediate-check属性设置之后,初次进入页面初始化数据就调用了onLoad方法

问题van-list的:immediate-check属性设置不生效,导致进入页面就开始调用onLoad方法。解决方法初次加载数据之前,将loding设置为true

2021-07-16 13:57:49 1433

原创 Docker应用

Docker实战系列目录Docker实战系列一、Docker是什么?1. Docker的架构二、安装1. Window上安装2. CentOS上安装三、使用1. 直接部署1.1 准备工作1.2一、Docker是什么?Docker是一个开源的容器引擎,可以将应用程序和基础设施层隔离,并且能将基础设施当做程序一样进行管理。使用docker可以个更快的打包、测试及部署应用程序。1. Docker的架构 Docker二、安装1. Window上安装windows版本可在官网下载对应的客户端(官网

2021-07-10 18:47:00 237

原创 element UI 表格中,操作列最后一行底部横线不显示的问题解决

使用element UI,最后一行加了操作列,但是查询的时候,底部的横线没有了。解决方法:在vue的style中设置样式即可解决/deep/ .el-table__fixed { height: 100% !important;}/deep/ .el-table__fixed-right { height: 100% !important;}修改后的效果:...

2021-06-21 14:59:38 3735

原创 oracle 日期格式化

TO_DATE(‘2021-06-11 14:00:00’, ‘YYYY-MM-DD HH24:MI:SS’)

2021-06-17 11:23:01 519

原创 手写设计模式系列——单例模式

手写设计模式系列——单例模式一、概念单例类,通过隐藏构造方法,在内部初始化一次,并提供一个全局访问点。二、通用写法public class Client() { public static void main(String[] args) { Signleton.getInstance(); } static class Singleton() { private static final Singleton instance = new Singleton()

2021-03-25 21:26:21 347

原创 webpack中使用clean-webpack-plugin

webpack中使用clean-webpack-plugin由于过去的指南和代码示例遗留下来,导致我们的 /dist 文件夹相当杂乱。webpack 会生成文件,然后将这些文件放置在 /dist 文件夹中,但是 webpack 无法追踪到哪些文件是实际在项目中用到的。通常,在每次构建前清理 /dist 文件夹,是比较推荐的做法,因此只会生成用到的文件。让我们完成这个需求。clean-webp...

2020-04-20 15:56:08 6416

原创 js中动态添加表格新行

var tableNode = window.opener.document.getElementById("fileTable"); // 获取原表格长度,添加新行 var row = tableNode.insertRow(tableNode.rows.length); // 设置新行id row.id = 'newId';...

2020-03-30 11:31:14 423

原创 layui-单选按钮样式无聊的问题

依赖加载模块:form (请注意:如果不加载form模块,select、checkbox、radio等将无法显示,并且无法使用form相关功能)在一个容器中设定 class=“layui-form” 来标识一个表单元素块,通过规范好的HTML结构及CSS类,来组装成各式各样的表单元素,并通过内置的 form模块 来完成各种交互。样式无效的原因就在于单选按钮没有置于layui-for...

2020-03-24 10:49:43 980

原创 LayUI询问框定义取消按钮和窗口关闭按钮事件

layer.confirm('确认删除吗?', { yes: function (index) { var id = data.STRATEGY_ID + ""; $.ajax({ ...... }, ...

2019-10-17 11:10:20 3457

原创 ThymeLeaf+LayUI表格渲染错误

使用thymeleafhe+layui渲染表格时,出现错误org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression:这是因为[[]]是thymeleaf的内联表达式,分开书写即可正常。...

2019-07-16 14:33:39 2415 3

原创 radio单选按钮在火狐浏览器中不默认选中的解决方法

在js中,使用$("#name").attr(“checked”, true)设置单选按钮默认选中,在Google浏览器中是正常的,但是在火狐浏览器中没有默认选中。解决方法:将attr()方法替换为prop()方法,在火狐浏览器中即可正常显示。...

2019-06-26 09:48:32 878

原创 JS学习--e.preventDefault,eacape()和escapse()

1.JS中e.preventDefault的作用?e.preventDefault是取消默认时间,例如的默认事件是跳转链接,如果使用此方法,当点击的时候就不会跳转链接。在日常中,还有这种常见的情况:比如一个button放在一个form中,这个button的Default就是提交(submit),但如果你不想让他提交,就可以用e.preventDefault();2. JS中escape()和u...

2019-06-19 20:18:36 770

原创 Mysql中IF()函数用法及排序中case when的使用

1.MySql中IF表达式的用法IF(expr1,expr2,expr3)eg: select *,if(sva=1,"男","女") as ssva from taname where sva != ""如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF(...

2019-06-19 20:17:38 644

原创 正则表达式--查找目标内容中指定的字符(串)

在软件开发中,正则表达式是个很有用的功能,使用正则表达式可以简化代码,省去不少时间。下面记录一个正则表达式的用法,就是检测一段文字中是否包含敏感词,如果包含敏感词,需要在页面错误提示框中提示这些敏感词。废话不多说,直接上代码: public static String keywordFilter(String content, String pattern){ Pattern...

2019-05-27 15:11:42 21028

原创 Quartz入门一

1.1. Quartz概述Quartz是一个任务调度框架,可以用于定时任务等。1.2. 使用我使用SpringBoot+Quartz,在pom文件中添加依赖: &lt;!-- 定时任务 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.quartz-scheduler&lt;/groupId&gt; ...

2019-03-06 18:55:11 176

转载 war和war-exploded的区别

在使用idea开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded这里首先看一下他们两个的区别: war模式:将web工程以war包的形式上传到服务器 war exploed模式:将web工程以当前文件夹的位置关系上传到服务器war模式这种可以称之为是发布模式,看名字也知道,这是先打包war包,再发布;war explo...

2019-03-06 10:19:40 4616

原创 Arrays.asList()使用注意事项

在初始化集合的使用,又是需要使用list,但是如果有十来个元素,一个个add也比较麻烦,这时可使用Arrays.asList(“1”, “2”, “3”,…),来实现比较简洁的处理。但是要注意一下几点:asList 的返回对象是一个 Arrays 内部类,并没有实现集合的修改方法。Arrays.asList体现的是适配器模式,只是转换接口,后台的数据仍是数组。不能使用其修改集合相关的方法,它...

2019-02-25 15:32:44 549

原创 String...的用法

一、前言在项目中,在检查参数是否为空的工具类中,出现了一个函数的参数列表是这种写法,于是学习了一下这种用法的使用。个人觉得这种处理还是很不错的,使得代码更加简洁。二、用法String…是java5新加入的功能,表示的是一个可变长度的参数列表。其语法就是类型后跟…,表示此处接受的参数为0到多个Object类型的对象,或者是一个Object[]。 例如我们有一个方法叫做test(String…...

2019-01-08 11:10:32 84746 5

原创 Explain分析sql语句执行效率

一、Explain介绍及使用在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索引扫描,这些都需要通过EXPLAIN去完成。EXPLAIN命令是查看优化器如何决定执行查询的主要方法。explain的使用很简单,在select语句前加上explain就ok了。我在use...

2018-12-25 17:07:10 1370

原创 数据库查询注意事项及索引使用

一、Navicat数据库查询注意事项由于需要统计生产环境的数据,按月份统计的话大概是几十万一条,全部月份加起来几百万条数据,被我搞挂了。。。原因就是在关联查询时候,查询字段没有用索引字段,导致数据一直处于查询状态,无数次的点击停止按钮,却发现根本停不下来。最后不得已把进程关了,然后悲剧就来了,我改了sql,加了索引字段,也查不出数据了。只好让同事帮忙重启数据库服务。此次事故让我了解到索引的重要...

2018-12-25 10:23:14 1663

原创 SpringBoot+Freemarker+Layui学习------第一天

获取站点根目录:request.contextPath;需要在配置文件中配置相关信息:# FTL配置spring.freemarker.suffix=.ftlspring.freemarker.charset=UTF-8spring.freemarker.template-loader-path=classpath:/templates/spring.freemarker.cache...

2018-12-17 17:44:35 4150

原创 @FunctionalInterface的作用和观点纠正:接口其实是继承于Object的。

之前一直以为接口没有使用extends 继承于Object ,把这个作为抽象类和接口的一个区别。但今天在学习函数式接口的时候,发现接口其实是继承于Object的。@FunctionalInterfacepublic interface DenyPolicy { void reject(); boolean equals(Object val1); stat...

2018-11-04 16:35:33 3676 1

原创 多线程学习二

1.什么是线程,它与进程的关系是什么,它的作用和意义是什么?https://blog.csdn.net/hzr0523/article/details/835772462.怎么使用多线程,具体有哪些使用方法?3.使用多线程后,带来的问题有哪些,解决方法有哪些?本片文章将介绍第二个问题一、线程的创建1.继承Tread类class TreadDemo extends Thread { ...

2018-11-01 17:27:00 149

原创 多线程学习一

首先从三个问题来记录学习的过程1.什么是线程,它与进程的关系是什么,它的作用和意义是什么?2.怎么使用多线程,具体有哪些使用方法?3.使用多线程后,带来的问题有哪些,解决方法有哪些?本片文章将介绍第一个问题一、什么是多线程,它与进程的关系是什么,它的作用和意义是什么?多线程这个词汇,对于程序员来说,并不陌生。首先了解下线程的概念,以及线程与进程的区别?1.什么是线程?线程有时候被称...

2018-10-31 10:41:08 154

原创 算法-斐波那契数列(Fibonacci)

非递归实现/** * 斐波那契数列 * 特点:第三个数开始,每个数等于前两个的和 * 数列:1 1 2 3 5 8 13 21。。。 */ private int fibo1(int n) { //以非递归方法实现 //时间复杂度:O(n) //输入总数: int a = 1; ...

2018-10-19 23:42:04 324

原创 SpringBoot+MyBatis配置主从数据源

由于采用分布式数据库,读写分离。所以有些查询只需要从只读库查询,这样可以极大地提高查询效率。那么,如何实现在项目中配置多数据源呢?下面将根据项目实际应用对多数据源的配置进行说明。1.配置properties文件#DataSource Configspring.datasource.druid.url=jdbc:mysql://***.drds.aliyuncs.com/***?useUnic...

2018-10-11 09:58:47 5537

原创 利用List的sort方法,自定义比较器对类属性进行排序

JDK1.8之后,List新增了sort方法,使用Comparator作为参数,调用者可自定义比较规则。 User user1 = new User(12, &amp;amp;amp;amp;quot;张三&amp;amp;amp;amp;quot;); User user2 = new User(10, &amp;amp;amp;amp;quot;李四&amp;amp;amp;amp;quot;); User user3 = new User(13, &a

2018-09-26 11:53:13 3062

原创 Docker的简单使用

一、什么是Docker?Docker 是世界领先的软件容器平台。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发布新功能。Docker...

2018-09-20 16:21:37 190

原创 Java基础知识面试题

父类的静态方法能否被子类重写?父类静态方法可被子类集成,但不能被子类重写。因为静态方法在类加载的时候就分配好了内存,若子类存在和父类同名的静态方法,会重新分配内存给子类的静态方法。Demo测试:public class IODemo { public static void test() { System.out.println(&quot;父类静态方法&quot;); }}public cl...

2018-09-18 15:37:22 221

原创 SpringBoot+Dubbo搭建简单小案例

一、概述由于公司项目使用了dubbo服务,但是对dubbo的原理和使用还不是很了解,仅以此片记录下dubbo的学习历程。dubbo是阿里的一个开源分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。在实际应用场景中,可以将主要的业务分离出单独的服务,提供给消费方调用。二、安装ZookeeperZookeeper是一个分布式的服务框架,是树型...

2018-09-16 19:52:06 19390

空空如也

空空如也

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

TA关注的人

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