自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 SHA和AES加密+GUI Swing写的一个本地运行和保存的密码管理小工具

用swing组件写的一个本地密码管理器,主要实现了加密解密,用到了两种加密方式:AES对称加密和SHA哈希算法加密。本程序有登录功能,登录密码密文是通过SHA加密的。然后加密的密文将以txt形式保存在本地。如果不知道登录密码即使知道密文也无法解密。

2023-01-03 09:11:56 179

原创 【SpringBoot+Redis】实现多端登录+token自动续期和定期刷新+自定义注解和拦截器实现鉴权(角色和权限校验)

【SpringBoot+Redis】实现多端登录、防止重复登录+token自动续期和定期刷新+自定义注解和拦截器实现鉴权。将登录相关、退出、token相关的这些操作,全部抽出来,放到一个自定义的@Component组件中,在这里实现具体过程,其他地方我们不用关心实现步骤,只需要直接调用这里面的相关方法就行。鉴权相关将角色和角色对应的权限放到缓存中,每次请求时在拦截器里从缓存中拿到角色和权限进行校验。

2022-12-22 14:41:44 801

原创 Git统计代码行数;Java实现统计代码行数,忽略空行、注释行

某天,产品叫我算下某个项目的代码行数,我一愣,这怎么统计?总不可能一个文件一个文件算吧?后面我找了下,git是可以统计提交到仓库的所有的代码的,不过有个问题,就是假如有些文件我不想算进去怎么办?之后我再查了下,可以只统计指定文件类型的代码的。但如果我不想要空行和注释行也算进去怎么办?我找了下,好像没有命令可以忽略空行或注释行,既然Git不行,那我们就自己用代码实现统计。

2022-12-07 10:29:59 586

原创 freemarker导出word、word转pdf,带附件、图片等比缩放

1、通过freemarker模板,导出word文档,同时可将word转为pdf。2、导出的word带图片,如果图片太大,可通过等比缩放解决图片尺寸变小后变形的问题。3、导出时,将文档里面的图片作为单独的附件一起下载下来;或者是还有其他文件附件需要和文档一起下载。用到的所有资源和源码都放在文章结尾了~

2022-11-04 10:23:39 595

原创 Java MySQL递归子级、父级,构建树结构

记录一下,关于Java和MySQL递归子级和父级的方式,以及构建树形结构的方式,忘了的话就不用到处翻了。

2022-10-28 09:25:22 769

原创 【SaToken使用】SpringBoot整合SaToken(二)关于数据权限

SpringBoot整合SaToken(二)关于数据权限的实现

2022-10-05 13:34:38 430

原创 【SaToken使用】SpringBoot整合SaToken(一)token自动续期+token定期刷新+注解鉴权

SpringBoot整合SaToken,token自动续期+token定期刷新+注解鉴权

2022-09-28 11:13:52 1341

原创 SpringBoot+Redis 防止用户重复登录

防止用户重复登录,在redis中存储登录信息有两种方式:第一种是以用户名作为redis的key,用户信息作为value,用户信息里面包含了token;第二种是用户名和token分别为key,用户名对应的value是用户信息,token对应的value是用户名。...

2022-09-01 11:13:31 957 1

原创 easypoi多级表头、多个sheet导出,动态导出列、动态更改表头

easypoi多级表头、多个sheet导出,动态导出列(表头),动态更改表头。模板导出关于横向遍历(列遍历)的问题。

2022-08-11 15:59:43 3052 4

原创 springboot+websocket聊天室(私聊+群聊)

springboot+websocket聊天室,实现了私聊和群聊。

2022-07-26 15:12:09 1650 4

原创 Java行政区划代码处理,包含源JSON文件,处理过后的JSON、Excel、SQL文件

民政部最新的行政区划代码,包含源JSON文件,处理后的JSON、Excel、SQL文件

2022-06-02 15:39:08 605

原创 【SaToken使用】springboot+redis+satoken权限认证

前言之前看到satoken,感觉很方便,之前我用shiro+redis+jwt(或者session)遇到的一些问题,用这个感觉都不是问题,很轻易就能解决,比如:多端登录可以不用写realm、移动端保持长期登录、token自动刷新等。功能还是比较全面的,不过因为我们公司业务的关系,其实很多功能都用不到。......

2022-05-24 10:41:39 4623 22

原创 easypoi导出表格带echars图表

效果实现思路前端图表用的是echars显示,只需要让前端将图表以图片的形式,将图片的base64传过来,后端接收到这个base64,写入到工作簿中的sheet中即可。无论是折线图、饼图、柱状图都是一样的,以图片的形式将图片追加到sheet中,只需要设定好图表的偏移量即可。实现1、ExcelStyleUtil 导出样式工具类import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;import cn.afterturn.e

2022-04-06 14:40:34 828

原创 easypoi导出隔行样式设置

导出excel需要设置隔行背景样式,如下图:1、ExcelUtil 导出工具类/** * 导出设置隔行背景色 * @param params * @param list * @param pojoClass * @param fileName * @param response */ public static void exportExcel( ExportParams params,List<?> list, Class<?> pojoClas

2022-02-10 14:12:45 733

原创 MySQL排除节假日,计算日期差

计算两个日期的差,并且需要排除节假日。首先,我们需要准备一张节假日表,存放一年里所有的周末和法定节假日。实现下面两个需求:1、通过主表的两个日期字段,去计算这两个字段的日期差值;2、传入两个日期,去计算这两个日期的差值;

2022-01-12 15:06:03 1819 13

原创 Java8 List Stream常用操作总结记录

项目中经常会用到 list.stream() 的操作,比如说比较两个list、list分组统计、筛选、转map这些,有的时候不太熟练的就经常会忘记要怎么写,还得翻以前的代码看看是怎么写的。所以干脆把用过的都总结记录起来,以后忘了的话就不用打开这个项目那个项目翻代码了。先创建两个list并添加好数据@Datapublic static class Entity{ private int id; private String name; private String attribute;

2021-12-22 10:21:16 1390

原创 根据excel生成create建表SQL语句

我平时创建数据库表的时候,都是习惯先用记事本将要用到的字段列出来,写好字段名和注释,像这种然后用代码读取这个文本,通过中文冒号:分隔,获取到名称和注释,再通过create建表语句,将字段名、注释拼接起来,生成sql输出。这样生成的没有考虑到字段类型、长度,需要建完表后再设置。然后今天闲来无事,想着得规范一下,在列要用到的字段的时候,就将类型和长度也设计好,执行完sql之后就不用一个一个去改了。所以我用的是excel表格(比较好看),像这样行数不限,列数只有四列,第一行必须是 表注释:表名,用英文

2021-11-24 17:31:43 5649 8

原创 B站网页端下载视频,直接浏览器下载或者Java实现下载

B站网页端下载视频,只需要调用两个api即可1、通过bv号查询视频信息,找到视频的cid:http://api.bilibili.com/x/web-interface/view?bvid=BV1Zq4y1R7RV2、找到cid后,再调用另一个api,bvid输入bv号,cid输入刚刚找到cidhttps://api.bilibili.com/x/player/playurl?otype=json&fnver=0&fnval=2&player=1&qn=64&am

2021-10-12 14:04:55 1749 1

原创 springboot整合canal,监听MySQL binlog日志,实现增量同步

有两个数据库,并不是主从关系,但是需要同步某张表,可以通过binlog日志,进行同步,前提是这两个数据库的要同步的表,表名和字段名需要一致。当前项目连接的数据库(需要同步的数据库):base_project需要将数据同步到 base_project 的数据库(需要监听的数据库):test一、下载canal我整合的是1.1.4版本,所以下载也是下载的1.1.4版本解压,打开 conf/example/instance.properties 文件##########################

2021-09-07 14:45:30 2147 2

原创 springboot2.x以上整合shiro1.7.1和redis的一些注意事项

因为之前用的shiro版本一直是1.4.0,后来我们老大跟我说版本太低了,不安全,叫我升级到1.7.1。升级后发现有些配置很不一样的,需要注意一下。一、pom.xml<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.3<

2021-08-11 16:33:25 463 1

原创 MySQL查询父节点下面的所有子孙节点,查询用户列表时多级(公司)部门处理,根据反射,递归树形结构工具类

MySQL查询父节点下面的所有子孙节点SELECT id,dept_name,parent_idFROM (SELECT id,parent_id,dept_name FROM sys_dept where parent_id > 0 ORDER BY parent_id, sort) a, (SELECT @pv :=1) bWHERE (FIND_IN_SET(parent_id,@pv)>0 And @pv := concat(@pv, ',', id))执行结果:

2021-08-10 14:37:41 808

原创 freemarker合并单元格,if、else标签的使用,null、空字符串处理

一、合并单元格效果1、制作表格模板3、将制作好的word另存为xml文件4、将xml文件进行格式化,然后直接修改后缀名,将xml格式改为ftl格式5、关于数据,将要导出的数据处理好6、ftl处理在循环的数据行中,每一个 tr 里面会包含对应的 tc(单元格) ,找到对应的需要合并的单元格,在 <w:tcW> 下面添加逻辑判断,一定是在<w:tcW>下面。<w:vMerge w:val=“restart”/> 这是合并开始的标签。&lt

2021-08-09 15:27:00 1280

原创 springboot+redis持久化存储数据(不使用MySQL)

前言1、前段时间,做过一个项目,一开始甲方给的需求文档里没有说明数据存储用什么数据库,因为我也做过甲方的其他项目都是用的MySQL,所以这次我也就默认使用MySQL了。2、就一个电量电能统计分析工具,功能也很简单,做完了之后甲方跟我说这个工具是要可以在任意一台电脑上运行的,开发者的电脑安装了jdk和mysql可以运行,但是普通用户肯定不可能都给他们装上jdk和mysql吧,然后叫我看一下要怎么解决,数据存储不使用mysql。最后我就干脆把mysql改成redis。(因为之前对redis的使用一直都停

2021-06-18 16:57:47 1023

原创 一个定时任务提醒工具

因为上下班的时候,老是忘记打卡(其实这不是重点,因为可以补卡嘛),重点是下班走的时候总是忘记关空调(谁最后走忘记关空调,罚100。。。)我一开始的做法是,在主机上贴个便签,写上关空调三个大字,坐在电脑旁,只要你眼睛稍微一瞥,就是看到。可是依旧是该忘还得忘,那么明显一个便签贴在那,走的时候死活看不到,我有什么办法!然后我就想做个弹窗提醒,一到下班的点,就弹窗提醒,然后就关空调,下班就关,总不会忘了吧。刚好那两天因为项目需要,我写了个vbs脚本,用vbs启动jar和exe程序这些。就想用vbs做个弹窗。要求

2021-06-10 16:20:31 347

原创 easypoi一对多,合并单元格,并且根据内容自适应行高

效果一、引入依赖<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.1.3</version></dependency>二、实体类import cn.afterturn.easypoi.excel.annotation.Exc

2021-06-04 15:42:01 3195 11

原创 freemarker导出word,带表格和多张图片,解决图片重复和变形

一、引入freemarker依赖<!--word生成工具类--><dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.24-incubating</version></dependency>二、准备好word模板和wordXML模板1、word模板

2021-05-18 18:03:03 1984 3

原创 springboot+shiro+redis+jwt实现多端登录:PC端和移动端同时在线(不同终端可同时在线)

前言之前写了篇springboot+shiro+redis多端登录:单点登录+移动端和PC端同时在线的文章,但是token用的不是 jwt 而是 sessionID,虽然已经实现了区分pc端和移动端,但是还是有些问题存在的,比如:自定义的Session管理器中,生成的sessionid无法区分不同终端;还有就是登录用的是 subject.login(token) shiro帮我们自动登录,要实现的是移动端需要保持长期登录;关于移动端保持长期登录,我想的是,另外建一张存储用户信息和token的表,登录成功

2021-05-08 09:32:57 2709 7

原创 MyBatis或MyBatis-plus中分页查询同时查询数据和总数量

前言1、做分页查询的时候,如果是单表还好,可以用mybatis-plus自带的分页,我们可以不用额外的去查询总数。但如果是多表关联查询,就每次要写两个一样的sql,一个查询数据,一个查询总数,然后我就在想能不能在分页查询数据的时候,同时把总数量也查询出来。于是我在网上找了下,还真有,不过大多都是复制粘贴的,很多都有一样的问题。问题就比如:<resultMap type="java.lang.Integer" id="count"> <result column="total"/

2021-04-22 17:10:25 9215 11

原创 前后端分离验证码存储,session处理

问题描述前后端分离,验证码存储到session中,postman测试可以获取到session中的验证码,但是在另一台电脑上获取session中的验证码却始终为null,试了各种跨域、携带cookie都不管用。前言一个之前完成的项目说要加些新需求要我们做,我们肯定不能拒绝啊,开干。打开项目,运行,浏览器输入地址,输入用户名、密码、验证码,点击登录,???验证码已失效???啥情况?断点一看,好家伙,获取存储在session中的验证码一直是null,再将存储验证码的session和登录时从请求获取的ses

2021-04-09 20:48:04 2556 6

原创 关于Field ‘id‘ doesn‘t have a default value

今天项目做新增功能的时候,遇到个问题,记录一下关于 Field ‘id’ doesn’t have a default value因为我现在用的是mysql8,mybatis-plus,数据库表的主键id,都是用的整型,自增,也没注意到这个问题。直到今天,数据库表主键用的varchar类型,然后在实体类里面也标注了@TableId注解,像这样:@TableIdprivate String id;然后新增的时候,我手动生成id,并设置到了实体类中,但是执行insert语句的时候,还是报错,看控制台

2021-03-19 18:04:17 166

原创 mybatis日期查询的坑:具体查询某一天的数据,数据库中能查询到结果,但是mybatis中却查询不到

关于日期查询,今天遇到个坑:标题就是我用 date_format 函数来查询某个时间段的数据,无论是数据库还是mybatis都可以查询,都没问题 ;但是我如果要精确查询某一天的数据,在数据库中查询没有问题,但是在mybatis中却查不到,我把控制台的sql语句复制到数据库中执行都能查询到数据。详细情况如下:一、查询某个时间段的数据:AND date_format(start_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')AND da

2021-03-09 17:55:56 3837 11

原创 shiro整合单点登录,setLoginUrl重定向地址会携带JSESSIONID的问题

今天遇到一个问题,在springboot+shiro整合的项目中,单点登录,当登录过期时使用setLoginUrl 设置重定向地址,然后这个地址返回一个登录过期请重新登录的提示给前端,然后前端控制页面跳转到登录页面。问题就出在重定向的时候,setLoginUrl 设置的地址总是会携带JSESSIONID,就一直报302错误具体情况如下:ShiroConfig配置类//省略其他配置/** * Shiro基础配置 */@Beanpublic ShiroFilterFactoryBean sh

2021-03-05 15:44:51 2499 1

原创 springboot+shiro+redis多端登录:单点登录+移动端和PC端同时在线

参考文章:单点登录:https://mp.weixin.qq.com/s/DGFFPl93kZxS5G_DSFTBDA多端登录:https://blog.csdn.net/zhourenfei17/article/details/88826911一、前言最近一个springboot项目要求增加一些app的功能。然后首先要改的就是这个登录的功能。我原本的登录就只是web端登录,实现了单点登录,就是同一个用户只能同时登录一次,如果再次登录的话,会清除上一次的登录信息。(具体实现参考上面的单点登录链接)

2021-02-10 13:23:36 1864 26

原创 springboot打包成jar运行无法访问resources下的资源,以及jar包运行时引用的第三方jar包也无法加载

最近碰到个问题,就是项目打包成jar包运行无法访问resources里的资源。jar包运行时引用的第三方jar包也无法加载。就是我需要实现一个导出成pdf或者word文档的功能,导出这两种文档是根据模板来导出。先准备好了pdf和word的模板,导出时将数据内容填充到模板中,然后再将填写好内容的pdf或word文档下载下来。这两种模板我是放在 resources 目录下 template 文件夹里读取模板时,我是用 ClassLoader.getSystemResource(“template”).g

2021-02-05 16:59:56 1045

原创 springboot中easyExcel实现导入导出

导出1、引入easyExcel依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.7</version></dependency>2、实体类import com.alibaba.excel.annotation.ExcelProperty;i

2021-02-02 16:47:23 455 3

原创 Error creating bean with name ‘shiroFilterFactory‘ defined in class path resource

springboot+shiro+redis整合中,启动项目时报错:Error creating bean with name ‘shiroFilterFactory’ defined in class path resource这是我的ShiroConfig类package com.mh.common.config;import com.mh.common.shiro.ShiroRealm;import com.mh.common.shiro.ShiroRetryLimit;import

2021-01-27 11:42:27 3537

原创 springboot @Transient无效的问题

我在实体类中要加一个数据库中没有的字段private List<Dept> children;以前因为都是自己写的sql语句,遇到这种比如要添加自定义的list,都是直接在mapper.xml里用 collection的<collection property="children" javaType="java.util.List" resultMap="childrenResultMap" />后面用了mybatis-plus,都是用crud来操作数据库,结果就是遇

2021-01-21 11:39:38 2867 4

转载 2020-09-26

基于SpringBoot+Redis+Vue的后台管理系统开源项目,附源码地址 项目名称 eladmin (权限管理系统) 转载自https://blog.csdn.net/yelvgou9995/article/details/106856657 简介 eladmin 是一款基于 Spring Boot 2....

2020-09-26 15:51:14 195

原创 leaflet要素图层根据属性渲染图形

要素图层根据每个图形的其中一个属性的值来渲染图形。//渲染图层样式用setStyle(), 这里可以传入函数,函数的参数feature就是每一个要素(图形)layer.setStyle(function(feature) { //获取属性 "FEATUREID" 的值 var featureId = feature.properties["FEATUREID"]; if(featureId){ //featureSymbols中有当前featureId值的样式时,直接返回样式 if(fe

2020-08-24 17:15:33 907

原创 multiple上传多文件,点击删除,提交表单被删除的文件却还存在(FileList对象无法更改)

之前做过一个多文件上传的功能,就是点击上传按钮,在弹出的选择文件框可以同时选中多个文件,我当时觉得很简单啊,直接在input上加个multiple属性不就可以了吗。然后今天同事跟我说,那个上传多个文件的,上传后点击删除,保存再倒回去看删除的文件还在。因为我们的删除按钮是分两种情况的,第一种是文件一上传,还没有保存到数据库,然后删除。第二种是已经保存到数据库的文件点击删除。第二种就不说了,主要是第一种情况,我单文件上传,点击删除,保存,再倒回去看的时候,文件已经删除了,但是偏偏多文件就不行。文件还没

2020-07-22 17:33:36 497

行政区划代码(省、市、县)

行政区划代码,到省、市、县(区)级,包含原始JSON数据和处理后的JSON、Excel、SQL数据。

2022-06-02

百度贴吧表情.zip

百度贴吧的emoji,包含60*60和90*90,png格式,包括滑稽、乖、怒、阴险、笑眼、喷等等表情(/s/1j_j9an6LgSgso4bm9dzoag,91tt)

2020-08-24

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

TA关注的人

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