自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql正则表达式

(此函数为MYSQL8.0版本新增,低于8.0版本没有此函数)规则基本和java正则规则一样,有些特殊字符有差异.将code中的3位数字改成4位.高位补0.

2023-08-07 15:32:32 462

原创 gitignore忽略bootstrap文件或gitignore忽略文件不生效解决办法

正常将需要忽略的文件放入.gitignore即可.进入项目目录,运行git bash here。添加需要忽略更新的文件。

2023-06-07 11:00:12 516

原创 如何总是更新某个字段

项目用的mybatisPlus,现在有一个字段,不管是不是空,都需要更新这个字段

2023-02-24 17:20:10 309 1

原创 根据模板导出文件,解决本地或idea导出可以,测试导出不成功的问题

核心代码

2022-07-11 15:43:40 473

原创 mysql之取多列最大最小值,不要只记得列转行,有些函数可能更好用

mysql函数极大提高了查询效率

2022-06-10 16:05:28 2614

原创 ElasticSearch基础入门,白话es

ElasticSearch是一个基于Lucene的搜索服务器。

2022-06-03 17:17:28 1754

原创 jeecg导出一对多,主子表,子表某字段为多字典项

要求: 导出主数据以及明细数据,明细数据可能有多条,标准的一对多导出。 唯一的难点是:有两个字段是字典项,而且字典项是级联的,第一个字典项好控制,但是第二个字段的字典项需要根据第一个字典项的值来确定。 举个例子:有10个字典,第一个字段用第一个字典,但是第二个字段需要从那9个字典中取。导出形式:思路:整体思路还是按照jeecg官网给出的例子,地址:http://doc.jeecg.com/2044230 本想在前端将字典项中的内容都传过来保存,但是字段用的dicCode注解,不太好处理,于

2022-05-19 17:47:09 1566

原创 powerdesigner各种字体设置;preview字体设置;sql字体设置

标题1.设置左侧菜单:步骤如下:tools —> general options —> fonts —> defalut UI font ,选择字体样式及大小即可,同下图。2.设置preview字体大小(sql预览)步骤如下:tools —> general options —> fonts --> code editor ,选择字体样式及大小即可。如下图(已汉化,所以是中文的):3. 改变数据模型Table的字体大小Tools------>

2022-04-21 15:31:15 4728

原创 前端页面导出PDF文件,并添加水印

要求: 最近在维护一个老项目(后端是ssm,前端是jsp),要求导出一个报表页,导出为pdf文档。表头需要增加 ‘内部资料,不宜公开‘,同时页面增加水印。导出效果:如下图(仅展示一部分):整体思路:本来想着java代码(jasperReport)完成,但是一是发现jasperReport好像不太支持水印,二是itext会比较繁琐,看着这些生成的echarts图,后端做的话会非常耗费精力,耗费时间。生成的图片还可能不一样样式。于是考虑前端直接导出为pdf,未使用任何后端代码警示语和水印我采用

2022-04-11 16:43:19 4735 2

原创 vue报错callback was already called Syntax Error: TypeError: this.getOptions is not a function

前端同事提交了一个富文本组件,git拉下来代码之后提示需要安装插件 ,使用npm install之后,安装失败,或者安装失败后,运行不起来,使用了网上各种办法都没有解决。npm install --force 不行,node版本也给升到最高,又说是sass版本不一致,修改了也不行;idea清缓存;重启idea,重启电脑都试了。git拉取了最新代码也不行,最后,git reset --hard 命令都用上了,git到提交插件之前,可以使用了,但是以后提交咋办,这个方法只能暂时使用。问题如下:npm in

2022-04-02 19:04:05 1020

原创 vue实现票价阶梯表,票价九九乘法表

​要求:选择线路,点击票价配置,弹出页面,列出线路下的所有站点间的价格,如果没有设置,默认为0.可以修改。最终实现效果:核心代码如下:解释一下:siteArr和priceMap返回格式大体如下:siteArr:[{siteId:‘1’,siteName:‘北京站’},{siteId:‘2’,siteName:‘南京站’},…]priceMap: {‘1-2’: ‘1.11’, ‘1-3’: ‘2.22’, 2-3: 3.22 ,…}样式如下:本人后端开发,用了一天时间才把前后端开

2022-04-01 10:53:02 1363

原创 Jeecg 导出复杂表格

要求:根据驾驶员信息,导出相应的排班信息如下图所示:分析:jeecg支持的普通导出满足不了我的表头需求,表头后面的站点和发车时间是两个维度,而且数量不确定,所以,使用jeecg的通用下载就不行了。只能自己手动生成excel了。废话不多说,代码如下:Controller层:@Slf4j@Api(tags="驾驶员")@RestController@RequestMapping("/driver/management")public class BusDriverManagementCo

2022-03-30 14:50:06 996 1

原创 queryWrapper在count时使用distinct

项目中某个查询需要使用到统计数量的功能,mybatis提供了count方法,但是,需求里需要对去重,需要用到distinct,如下格式:count(distinct KEY_)SELECT COUNT(DISTINCT KEY_) FROM program WHERE (STATE_ = 4)对应代码如下: QueryWrapper<Program> query = new QueryWrapper<>(); query.select("distinct KEY

2022-01-07 10:43:20 11876

原创 Caused by: java.lang.RuntimeException: NettyRemotingServer bind 50051 fail

如果idea开始成功,重启服务时出现这个错误,提示远端服务端口被占用,一般是因为idea的问题,重启idea即可。如果首次启动idea出现的问题,也可以使用下面的命令,查看是哪个任务占用了该端口号。命令如下:windows: 查看端口占用(获得进程ID) netstat -aon|findstr "12345" 查看任务端口(获得进程名称) tasklist|findstr "1234" 结束任务() taskkill /f /t /im idea.exelinux:

2022-01-05 14:15:01 948

原创 mysql分组后获取每个组的第一条数据

已知:subject表(主题表),主题表为树形表path字段,使用分隔符###,将主题编码从一级到本级主题编码,拼接起来,便于查询主题下子主题数据。现在,需要根据path排序,聚合查询一级主题的名称和条数。直接上结果:两种写法:一:select tt.name as subjectName,path,count(*) as countNum from (select distinct t.table_id_, t.SUBJECT_ID_, s.name_ as name,path_,SUBST

2022-01-04 16:26:12 3343

原创 mongo group按月统计最近一年内的数据

需求描述:数据在mongo中,要求按月统计最近一年内的数据;问题描述:1.每天都会有数据,但是数据每天都是全量的,也就是说2号的数据包含1号的全部数据; 所以,按月统计,每月只能取最后一天的数据进行加和;2.时间字段只有一个,所以需要对时间格式化成日和月的形式:日用来过滤每月最后一天; 月用来统计每月数据量;话不多说,上代码 @Autowired private MongoTemplate mongoTemplate; @Override public

2021-12-09 17:45:25 1280

原创 为什么重写equals方法,还必须要重写hashcode方法

首先,需要知道的是hashcode的作用:(1)如果一个对象没有重写hashcode,那么,hashcode是对象的地址值,不同对象hashcode值是不相等的。(2)如果重写了hashcode,一般是根据对象的属性来获取hashcode,那么不同对象hashcode可能相等。其次,我们来看一下equals的作用:一个类如果没有重写equals,通过equals()比较该类的两个对象时,等价于比较对象的hashcode值。...

2021-10-19 11:31:58 481

原创 powerdesigner统一添加默认字段(创建时间、创建人等)

使用powerdesigner设计表结构时,每个表都需要设置一些默认字段,如都有创建时间,创建人等,每次都写会感觉比较麻烦。所以就有一些方式可以自动生成这些默认字段。方式有三种:1.第一张表先设计好这些默认字段,直接复制这个表即可。2.添加脚本,在导出sql脚本时会默认添加这样不需要在表模型中添加默认字段,在导出sql脚本时会默认添加。方法如下:1.打开Powerdesigner工具,依次点击Database -> Edit Current DBMS…。2.在弹出窗口,依次点击Scrip

2021-10-13 15:52:14 2075

原创 ElasticSearch 中文分词器对比

常用的中文分词器Smart Chinese Analysis:官方提供的中文分词器,不好用。IK Analyzer:免费开源的java分词器,目前比较流行的中文分词器之一,简单、稳定,想要特别好的效果,需要自行维护词库,支持自定义词典。结巴分词:开源的python分词器,github有对应的java版本,有自行识别新词的功能,支持自定义词典。Ansj中文分词:基于n-Gram+CRF+HMM的中文分词的java实现,免费开源,支持应用自然语言处理。hanlp:免费开源,国人自然处理语言牛人无私奉献

2021-10-09 10:36:25 2111 1

原创 mybatisplus无xml文件实现多表关联查询分页查询

使用mybatisplus提供的方法,解决不了多表关联条件查询,需要自己写代码。可以基于xml方式,也可以基于注解实现。本文档就基于注解或者纯代码方式解决。方式一:采用注解方式;1. 首先写一个mapper集成baseMapper,其中语句中的${ew.customSqlSegment}就这么写。mybatisplus会自动解析。2. 写一个class,写上所有需要的字段。这里就不给出了。3. 写一个service类,注入mapper类,使用方法即可。Mapper类:需要写注解public

2021-09-30 15:06:18 4626

原创 es操作模板类-封装restHighLevelClient相关操作,数据迁移使用

本人在进行数据迁移,主要是从mongo和mysql中的数据迁移到es中,测试了一下,效果还不错,故此记录一下,这篇主要是es的封装相关。如果想看迁移相关代码,链接如下:https://blog.csdn.net/xjx891111/article/details/120502163代码如下:package com.jesse.metadata.utils;import java.io.IOException;import java.io.Serializable;import java.uti

2021-09-27 17:46:25 878

原创 mongoTemplate多级关联查询自查询,并将数据同步到es中

查了一下,网上的多级关联一般都是一个主表关联两个子表,没有主–子--孙 表的这种关联查询形式,故此,记录一下。需求描述:将mongo中的column相关的信息同步到es。相关结构:column中有tableId,table表中有dbId,db中有dbCode,而dbType和InstanceName在mysql中,完整的db:dBCode+dbType+InstanceName注意:上面的column、table、db,它们其实都是一个表(在一个表中存储),我是为了大家好理解,所

2021-09-27 10:07:41 879

原创 MongoTemplate查询海量数据

在进行数据迁移时,需要从mongodb中获取数据,而数据有比较多,所以不能一次性取出所有数据,需要分批获取数据。分批获取数据主要有两种方式: Criteria criteria = Criteria.where("typeName").is("rdbms_table") .and("status").is("ACTIVE") .and("attributes.versionType").is("formal"); Query query = new Q

2021-09-26 14:23:40 2954

原创 mongoTemplate实现按天统计数据,每天需要取最新的数据

> 业务需求:按天统计数据,所有数据都在mongodb中。> 难点:不能直接统计,需要过滤每天数据。每天数据有多条,需要查询每天中的最新的一批数据,而最新的一批数据又在不同的任务中mongodb中不支持子查询。所以,一次性就查不出来> 解决办法:采用多次查询第一次查询按天分组查出当天最新的一批数据。第二次再将第一次的结果集作为条件再去mongodb中进行查询统计。返回数据格式如下图:最终效果如下图:package com.jesse.hbm.se

2021-09-18 18:49:20 2208

原创 mongoTemplate实现带分页查询

所有数据存储在mongodb中,在mongodb中进行分页,需要自己处理分页条件,使用skip和limit进行查询当前页面的数据。注意:mongo是通过正则表达式的形式增加模糊过滤mongodb对数据类型敏感package com.jesse.service.impl.metadata;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang.StringUtils;import org.springframework

2021-09-18 17:46:05 5134

原创 使用mongoTemplate进行数据统计,部分数据在mongodb

带分页的数据查询,主数据还是从关系型数据库MySQL中查询出来的,然后从结果集中获取相关条件,然后根据条件去mongodb中进行数据统计。注意:mongodb对数据类型敏感,类型一定要填对,不然查询不到数据。话不多说,直接上代码。package com.xjx.services;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang.StringUtils;import org.springframework.bea

2021-09-18 17:27:25 1127 2

原创 idea中如何查找某个类在哪些类里有使用

有时idea中需要查找文件,普通的,使用,shift+f或者shift双击,一般都能查找的到。但是idea中如果找到某个bean,知道类是怎么写的,但是不知道这个类在哪些类里有使用,这时,可以使用notepad++,查找文件。具体方法很简单:首先,打开notepad++,然后ctrl+f,打开文件查找,然后,如下图:如果找到,就会在下方显示有几个文件找到了引用,以及哪些行被引用了。...

2021-05-31 17:09:02 9497 2

原创 eureka自我保护机制大白话总结

个人总结:自我保护机制过程:在都使用默认值的情况下,客户端每30s续约一次,服务端每60s扫描一次超过90s还没有续约的客户端,正常情况下(没开启自我保护)就会剔除。但是配置开启了自我保护之后,他在检查时,还会判断一个数据,就是上一分钟心跳数 和 期望心跳数的85%1.如果上一分钟心跳数 >= 期望心跳数的85%,此时我认为网络是正常的,不会开启自我保护;2.如果上一分钟心跳数 < 期望心跳数的85%,此时我认为网络有波动,是不正常的, 就会触发自我保护机制开启自我保护机制后,服务端

2021-05-09 20:44:47 606 1

原创 springBoot部署 两种方式

开发环境:jdk1.8 + IDEA1. jar包(官方推荐)jar包方式启动,也就是使用spring boot内置的tomcat运行。1.使用idea创建一个springboot工程,打包方式选择jar,完成业务功能后,点击maven里的package,打成jar包2.将jar包放到任意目录,执行下面的命令:​ java -jar ***.jar输入 :localhost:80802.war包使用外部tomcat启动方式:1.使用idea创建一个springboot工程,打包方式选择w

2021-04-27 09:01:58 2186

原创 递归方式获取动态菜单

之前写了几次动态树形结构,因为不太懂递归写法,所以,实现起来特别麻烦,当时最多手动写了4层for循环,代码冗余不说,而且出错很难排查。最近有机会又写了一次动态菜单的数据获取,前端使用的是vue+elementUI,里面的结构就是标准的可以递归的json数据。后端使用的是ssm,因为mybatis可以嵌套调用,结果集可以封装到javaBean中,所以,这次很容易的就实现了递归获取菜单的功能。个人觉得重要的是需要定义一个好的javaBean。具体步骤如下:1.定义一个实体类Menu菜单实体类Menu如

2021-04-22 16:38:23 317

原创 ElementUI使用树形数据与懒加载形式展示数据Error: for nested data item, row-key is required. children: [{$ref: “…”}]

记一次使用vue+elementUI数据展示报错使用elementUI展示table时,使用树形数据与懒加载形式展示数据。这里需要注意一下的是,elementUI版本尽量高一点,否则可能不显示。我公司的elementUI版本就是太低了,最后我换了高版本才搞定的。使用过程就不说了,按照官网提示就可以了。但是晚上让同事搞的时候,添加了一条数据,然后修改了数据,之后就不行了,前端就报错了,提示row-key是必须的。可是查看了前端是好的啊,所有配置都有,而且一直是可以运行的。查看了一下返回数据,也正常啊,标

2021-04-21 13:28:40 1191

原创 maven集成tomcat启动出问题,访问时转圈,打不开

问题描述:使用maven集成tomcat时,之前一直好好的,能正常访问,但是现在突然就不行了。服务能启动,因为是用的dubbo,下面也一直在有写数据,但是url输入地址,打不开,一直转圈,好几分钟都不行一直进不去。运行窗口有提示一个bug,bug如下:严重: Unable to process Jar entry [module-info.class] from Jar [jar:file:/D:/maven_repository/javax/xml/bind/jaxb-api/2.3.0/jaxb-

2021-04-21 12:24:41 2244

原创 mybatis 处理参数List<String[]>mybatis bug

使用注解方式:(和xml一样) @Insert("<script>insert into t_ordersetting values" + "<if test = 'list !=null and list.size()>0'>" + "<foreach collection = 'list' index ='index' item='ss' separator=','>" + "(null

2021-04-09 21:09:55 1384

原创 restful /{id} id为空导致405 即@Pathvariable里的参数允许为空的问题的解决

问题描述:因为ids是子表中的数据,用户只处理了主表,子表没有处理,ids就为空了,这时,访问后端就会因为找不到资源路径,报405错误。而其他情况下,用户是可以正常访问的。即使用restful风格传递动态参数,因为参数可以为空,所以,可能后面的子路径就没有了。此时,就不是一个url了。比如: @PostMapping("/add/{ids}") public Result add(@RequestBody CheckGroup checkGroup, @PathVariable(valu

2021-04-06 12:57:13 1968 2

原创 windows下使用zookeeper启动报错Caused by: java.lang.IllegalArgumentException: myid file is missing,有myid却还报错

学习windows环境下zookeeper集群配置操作时,出现此类错误。错误信息如下:2021-04-03 12:06:36,307 [myid:] - ERROR [main:QuorumPeerMain@89] - Invalid config, exiting abnormallyorg.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing D:\soft\zookeeper\zooke

2021-04-03 12:40:57 1739 1

原创 Servlet.init() for servlet dispatcherServlet threw exception

在使用dubbo学习分布式时,在将web层和service层进行分服务时,出现问题。报错如下:root causeorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation. RequestMappingHandlerMapping': Initialization of bea

2021-04-01 18:59:44 719

原创 Error:() java: 程序包org.springframework.beans.factory.annotation不存在

问题描述:maven项目,编译正常,运行时报程序包找不到。但是发现依赖什么的都有。jar包也能打开。解决:idea有问题了,可以修改设置:1.需要勾上Delegate IDE build/run actions to maven 配置,才能执行;2.可选操作:skip test(跳过测试,可以快一点)这句话的意思是:让IDEA 的 build/run 动作委托给 maven 来执行,但是运行速度会慢一些。这时可以选择跳过测试,可以快一丢丢。...

2021-03-21 21:25:48 2987

原创 使用method.invoke()时,报IllegalArgumentException

问题描述:在使用method.invoke()方法时,遇到了一个问题,就是,在传递第二个参数时,如果传递的是数组,如果数组中只有一个数据时,不需要强转,也不能强转,而如果数组中数据长度大于1时,需要强转成object.如下图:首先,明确一下method.invoke()方法的具体声明:invoke方法里有两个参数,第一个是object类型,这个是传具体的类对象的.第二个参数args,是可变参数,其实底层就是一个数组.问题也出在第二个参数上,为什么底层是数组,而我直接给传数组,还要看长度,长度

2021-02-03 17:55:48 2503 1

原创 双冒号(::)运算符 java

双冒号(::)英文:double colon,双冒号(::)运算符在Java 8中被用作方法引用(method reference),方法引用是与lambda表达式相关的一个重要特性。为此,方法引用需要有兼容的函数接口组成的目标类型上下文。::关键字提供了可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,::关键字可以使语言更简洁,减少冗余代码。方法引用(::)使用的前提条件: 1.满足lambda的相关条件,即:可以使用lambda表达式表示; - 只有一个抽象

2021-01-11 20:28:59 407 3

原创 mysql 批量修改某一个字段 加前缀,后缀,以及去掉前缀,后缀

表:table,字段:id,name等。1.增加前缀或后缀:可以使用concat(str1,str2,…)函数。用法如下:1.增加前缀:update table set name = concat('prefix_',name);2.增加后缀:update table set name = concat(name,'_suffix');3.同时加前缀以及后缀:update table set name = concat('prefix_',name,'_suffix');2.去掉前缀或者

2020-11-27 16:06:31 8476 2

空空如也

空空如也

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

TA关注的人

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