自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tz.的博客

我是Tz,想把我遇到的问题都分享给你

  • 博客(72)
  • 资源 (9)
  • 收藏
  • 关注

原创 EasyExcel 复杂表头的导出(动态表头和静态表头)

如果不看1的部分,2部分+内容可以根据实体类+注解的方式导出,那么我们是不是可以先将动态表头1 写入到Excel中,然后再用注解+实体类的方式将2部分和内容写入到Excel中。:如图,1部分的表头是动态的根据日期变化,2部分是数据库对应的字段,静态不变的;下边是项目中的完整代码,可以做简单参考。本文由博客一文多发平台。

2024-03-29 16:51:19 395

原创 记一次EasyExcel导出时将空格丢失的问题

需求:导出的数据以树形展示,如下:

2023-10-27 11:02:30 440

原创 SpringBoot整合Gateway 的Demo(附源码)

Gateway 的父pom.xml。Gateway 的pom.xml。添加路由配置信息(放在配置中心)添加注册中心和配置中心配置。添加一个service服务。不通过gateway访问。本文由博客一文多发平台。配置注册中心和配置中心。配置中心的配置文件内容。通过gateway访问。

2023-10-27 09:46:30 1162

原创 SpringBoot的常用注解的服用方式

是SpringBoot应用程序的核心注解,通常用于主类上。:表示该类是一个配置类,用于定义Spring的配置信息。:表示启用自动配置,SpringBoot会根据项目中的依赖自动配置相应的组件。:表示启用组件扫描,SpringBoot会自动扫描当前包及其子包下的所有组件。是一个组合注解,用于定义RESTful风格的Web服务。:表示该类是一个控制器类,用于处理HTTP请求。:表示将方法返回值作为HTTP响应体,而不是视图名称。@Autowired用于实现依赖注入。

2023-08-02 10:10:04 251

原创 Vue+SpringBoot实现文件的分片下载

文件的分片下载顾名思义就是将文件分成一片一片,每次请求只下载一片,最后将文件进行整合下载,目的是为了防止文件大的情况,出现系统崩溃。SpringBoot后端实现文件的分片。

2023-06-18 23:36:47 1471 1

原创 SpringBoot 多数据源切换(二)(依旧超级简单)

背景:主从架构下,数据库的读写分离

2023-03-06 08:00:00 783 1

原创 SpringBoot 多数据源切换(超级简单)

背景:主从架构下,数据库的读写分离

2023-02-24 09:55:14 796

原创 如何使用MyBatis进行数据存储的加密、解密

背景:在大部分的系统中,出于用户的隐私安全考虑,都会对数据库内容进行加密,那么在编写业务代码逻辑时加密也不太现实。于是通用的加解密插件就应运而生,本文将采用mybatis的拦截器作为基础进行实现。思路:我们可以通过mybatis的拦截器进行参数的加密和解密解密。

2023-02-22 08:00:00 3563 1

原创 如何使用Mybatis-plus处理枚举值

如何使用Mybatis-plus处理枚举值如: 用户管理中存储男女对应的key值100、101

2023-02-17 11:41:04 350

原创 Mybatis如何处理枚举值

Mybatis针对枚举值的处理

2022-11-18 23:00:00 798

原创 Java Date与LocalDateTime、Date与XMLGregorianCalendar 互相转换

Java Date与LocalDateTime、Date与XMLGregorianCalendar 互相转换。

2022-11-02 23:00:00 414

原创 策略模式实战(SpingBoot版)

背景:在做数据处理的时候,需要根据不同的选项,进行不同的处理。第一个想法肯定是if-else进行处理,但是试想一下如果我们后续再添加十个、二十个分配方式,还用if-else是不是就太不美观了,而且if-else的可扩展性也很差,今天我们用策略模式去做一个简单的处理。前端请求上图前端处理时的四个选项我们可以分别给它们设置key:1、2、3、4,后端接口1. 创建一个通用策略接口public interface HandleData { /** * 定义选择的key类.

2022-04-21 23:30:03 814 1

原创 如何制作jar依赖,并打入maven仓库

一、创建一个maven项目(创建步骤此处省略)二、创建一个类并自定义一个方法(这里我们自定义一个equals方法为例)public class CustomerEquals { public static Boolean equals(Object str1, Object str2) { return str1 == str2 || str1!=null && str1.equals(str2); }}三、在resources路径下建立META

2022-04-18 21:33:41 659

原创 Java通过注解和反射修改属性值(男、女修改为0、1)

1.最近遇到了一个需求:导入用户信息Excel,需要将属性值:男、女,存入到数据库的时候是0、1这样的code码2.最简单的解决方式就是if-else… ,需要转code码的属性少可以使用,多的话就比较麻烦了。3.于是就一通搜索,写出了适合自己需求一个方法一、话不多说,看效果(后端将男转换为0)demo地址二、解决思路1、通过注解标注需要转换的值2、通过反射获取注解属性值和需要转换的值1)、maven依赖<dependency> <groupI.

2022-01-12 20:15:00 2923

原创 Java实现单向循环链表的操作

package stackandqueue.stack.link;/** * @author tianzhuang * @version 1.0 * @date 2021/11/25 16:46 */public class CirculeLink { Node head = null; int count = 0; // 添加一个统计链表数量的变量,操作链表会非常的方便 class Node{ private int val; pri

2021-11-27 15:30:00 355

原创 rabbitmq实现死信队列(springboot+rabbitmq)

1.什么是死信队列(专门用来存放死信的队列)当一个队列中的消息变成死信以后,该消息被重新publish到另一个交换机(该交换机叫做死信交换机)上,交换机将消息发送到指定的队列(该队列叫死信队列)中。2. 消息什么时候会变成死信1)消息被拒绝(basic.reject / basic.nack),并且requeue = false2)消息TTL过期(本文将演示消息过期形式)3)队列达到最大长度3. 死信队列可以用来做什么:场景1:订单30分钟内未支付,将订单取消(消息过期时间设置30分

2021-11-26 21:45:00 581

原创 Java操作实现双向链表的操作

package stackandqueue.stack.link;/** * linkedlist的实现原理就是双向链表结构 * * @author tianzhuang * @version 1.0 * @date 2021/11/16 16:40 */public class DoubleLinkList { class Node{ private int val; private Node next; private Node

2021-11-26 21:00:00 106

原创 Java实现单链表的操作

package stackandqueue.stack.link;/** * 单链表的操作 * @author tianzhuang * @version 1.0 * @date 2021/11/12 18:22 */public class MyLink { Node head = null; class Node{ private int val; private Node next; public Node(int

2021-11-24 21:00:00 532

原创 Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected

SpringBoot整合es时出现版本不匹配的问题(如下报错):Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected解决方式(将elasticsearch-rest-high-level-client依赖和spring-boot-starter-data-elasticsearch版本修改一致即可解决):查看pom.xml文件中elasticsearch-rest-high-le

2021-11-19 16:21:19 1690

原创 rabbitmq的几种模式(springboot整合rabbitmq)

一、简单模式(单生产者单消费者):将消息直接发送到队列中,供消费者消费1.创建队列2.代码实现1)添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>2)消息生产者 @Autowired

2021-11-10 14:53:59 1487

原创 Java实现幂等注解

拦截器@Aspect@Componentpublic class NoRepeatAspect { @Resource private RedisTemplate<String, Object> redisTemplate; @Pointcut("@annotation(com.sunline.project.aop.NoRepeat) || @within(com.sunline.project.aop.NoRepeat)") public void

2021-10-25 12:28:03 470

原创 mac m1 启动elasticsearch时报错 Caused by: org.elasticsearch.ElasticsearchException

环境: mac m1问题:安装好elasticsearch,启动时报错:解决:1、起始可以看到报错提示需要设置xpack.ml.enabled: false2、在config中的elasticsearch.yml添加此配置即可。

2021-10-21 23:23:51 2612

原创 seata1.4实现分布式事务(springboot版)

版本: Springboot:2.4.8 SpringCloud: 2020.0.3 Seata: 1.41. 下载seata1)地址:http://seata.io/zh-cn/blog/download.html2)在conf文件夹修改file.conf文件3)向本地数据库导入seata需要的表创建名字为seata的数据库新建表branch_table、global_table、lock_tableCREATE TABLE branch_table (branch_i

2021-09-24 18:32:36 533

原创 使用Junit Test时,@Autowired 注入出现空指针异常NullPointerException问题

1.添加maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-test</artifactId> </dependency> <dependency> <groupId>o

2021-08-10 14:42:10 2139

原创 遇见 mysql Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre 问题

这是因为mysql5.7及以上版本的mysql中,对于 group by 的这种聚合操作,如果在select 中的列,没有在group by 中出现,那么这个SQL是不合法的,因为列不在group by的从句中,所以对于设置了这个mode的数据库,在使用group by 的时候,就要用MAX(),SUM(),ANT_VALUE()的这种聚合函数,才能完成GROUP BY 的聚合操作。查询以后发现是因为only_full_group_by设置的原因,下边我们将其进行关闭:1. 第一种的解决办法是.

2021-07-08 10:21:48 4101

原创 pdf.js实现pdf的预览与下载(vue+springboot+pdf.js)

xx,我们的pdf文档需要做一个预览功能,你今天加班做一下吧。。。环境:文件服务器: fdfs前端:vue后段:springboot单纯的使用pdf.js进行预览出现了跨域问题,所以需要后端把文件流传给前端,然后前端进行展示。1.下载pdf.js,如果无法打开,下载我存放的已经修改过的pdf.js2. 将下载好的文件中的build和web拷贝到vue项目的public文件夹下3. 上代码3.1 vue前端 <template> <div> &.

2021-07-06 19:59:39 3596 4

原创 vue+element 播放mp3音频(只有播放按钮)

1.需求:最近遇到一个问题,列表中存在录音地址,需要在list列表中添加播放按钮,可以随时播放录音2.

2021-04-08 16:29:38 3938 5

原创 执行elasticsearch时出现 ./elasticsearch-env: line 126: syntax error near unexpected token `<`

今天在启动es时,突然想着写一个脚本,去分别启动es和kibana,这样就不用我每次手动的去es和kibana目录下启动脚本了,同时还可以练习一下shell程序的编写。问题: 但是在运行脚本时出现了问题,es版本7,./elasticsearch-env: line 126: syntax error near unexpected token `<’百度以后发现是:bash 3.0后,shell中加入了新的符号"<<<" ,将报错的位置的双< < 修改 &lt.

2020-12-23 20:38:43 2304

原创 (万能通用模板)--- SpringBoot导入、导出Excel文件

前言:最近做项目过程中使用到了一个权限管理框架:若依,使用过程中发现他的文件导入和导出功能非常的实用,在这里特此做一个小demo跟大家分享一下。导出:将从数据库中查出的List列表,以参数的形式传入模板中,即可返回Excel文件。@ApiOperation(value = "导出",produces="application/octet-stream") @GetMapping("/exportExcel") public void exportExcel(HttpServlet.

2020-11-25 17:34:06 5240 17

原创 vue 页面跳转传参,参数不同, 但页面只获取参数一次

1.问题描述问题描述:element 展示表格(页面A),点击表格的每一行的查看详情按钮,可以携带此行的信息参数跳转到另一个页面(页面B),但是从A页面到B页面,只有第一次跳转的时候B页面可以获取到A页面的参数,返回再次A->B ,B页面无法获取到参数。2.解决办法:方法一:在接受参数的页面(B页面)添加路由监听A页面传参: pushToRouter(val) { this.$router.push({ path: '/pageRouter/pushPage'

2020-11-24 17:18:13 2363 2

原创 vue+element 重置表单

1.首先看效果图(官方的)2.输入框配置1.el-form标签中添加:model="" 和ref=""两个属性,属性值必须和data return中定义的对象名一样;2.el-form-item标签中需要添加 prop属性,属性值和此el-form-item标签内输入框的v-model对象属性名一致,如v-model=“ruleForm.name” prop=“name”html标签:<el-form :model="ruleForm" :rules="rules" ref="ru

2020-11-23 17:27:17 2088 3

原创 教你如何解决vue跨域问题(vue cli3)

1.什么是跨域请求简单来说就是浏览器中当前网站向另一个网站发送请求获取数据的过程,这就是跨域请求。2.哪些是跨域请求1.http://www.test.com/index.html请求http://www.test.com/login(不跨域)1.域名不同:http://www.test.com/index.html请求http://www.test1.com/login(跨域)2.端口不同:http://www.test.com:80/index.html请求http://www.test

2020-09-14 16:37:42 4929 6

原创 ubuntu部署nacos

ubuntu搭建nacos1.下载nacos压缩包(https://github.com/alibaba/nacos/releases)2.上传至ubuntu系统(在xhell中用rz命令或者使用xftp进行文件上传)使用tar -xvf nacos-server-1.1.4.tar.gz进行解压3.启动nacos1)进入到nacos的bin目录2)启动nacosbash -f ./startup.sh -m standalonenacos启动成功~~~3)访问nacoshttp

2020-08-09 16:27:27 610

原创 k8s的pod yaml文件详解

# yaml格式的pod定义文件完整内容:apiVersion: v1 #必选,版本号,例如v1kind: Pod #必选,Podmetadata: #必选,元数据 name: string #必选,Pod名称 namespace: string #必选,Pod所属的命名空间 labels: #自定义标签 -...

2020-05-06 10:49:43 668

原创 ubuntu搭建redis cluster集群(4)

在Redis Sentinel模式中,每个节点需要保存全量数据,冗余比较多,而在Redis Cluster模式中,每个分片只需要保存一部分的数据。Redis Cluster的具体实现细节是采用了Hash槽的概念,集群会预先分配16384个槽,并将这些槽分配给具体的服务节点,通过对Key进行CRC16(key)%16384运算得到对应的槽是哪一个,从而将读写操作转发到该槽所对应的服务节点。当...

2019-12-24 14:35:35 498

原创 ubuntu搭建nginx负载均衡,可以如此的简单

一、负载均衡:1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除,剩下的继续轮询。2.权重 (weight)指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。upstream backend{ server 192.168.25.74:5000 weight=1; server 192.168.25...

2019-12-20 10:47:44 741

原创 Ubuntu Redis哨兵模式的配置(3)

一、安装redis(博主是根据第二种,压缩包的形式安装的redis)二、配置redis主从三、配置哨兵模式1.修改sentinel的配置文件(redis解压后的文件夹,博主是在/root/tz/redis-4.0.14文件夹下):sentinel monitor mymaster 127.0.0.1 6379 2#表示sentinel监控的master叫做mymaster,地址为127....

2019-12-18 09:11:58 645

原创 ubuntu redis配置主从复制(2)

主从复制原理(主负责写,从负责读):从服务器连接主服务器,发送SYNC命令主服务器接收到SYNC命名后,开始执行bgsave命令生成RDB文件并使用缓冲区记录此后执行的所有写命令主服务器basave执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令从服务器收到快照文件后丢弃所有旧数据,载入收到的快照主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令从服务器...

2019-12-11 16:39:15 312

原创 SpringCloud(3)------搭建Eureka高可用

1.eureka高可用其实就是多个eureka注册中心相互注册构成集群。eureka1注册到eureka2eureka2注册到eureka1先搭建eureka1和eureka2,搭建工程请查看此链接https://blog.csdn.net/weixin_42551369/article/details/1033434712.修改配置文件1)eureka1的配置文件:port: 81...

2019-12-06 10:59:54 165

原创 SpringCloud(2)------将服务注册到Eureka

一、Eureka ClientEureka client:不管是服务注册者还是服务消费者都算客户端Eureka Server:提供服务注册和发现、注册中心服务提供者将服务注册到注册中心以后才能被服务消费者发现1.pom.xml依赖服务将以客户端eureka client的形式注册到eureka server中。<dependency> <gro...

2019-12-02 15:06:11 82

基于springboot的旅游管理系统,可做毕业设计参考

旅游管理系统 用户: 1.预定酒店 2.查看景点、购买门票 3.购买特产 4.查看订单 后台管理 数据库根据实体类进行创建即可 可以用于毕业设计参考

2023-02-21

seata1.4.2版本.tar.gz.zip

seata1.4.2版本

2021-09-13

pdf.zip用于pdf预览功能

viewer.js代码已经做过修改,可以下载直接使用

2021-07-03

vue-cross-domain.zip

vue跨域前后端代码demo

2020-09-14

RabbitMQ 高效部署分布式消息队列.zip

RabbitMQ实战 高效部署分布式消息队列

2020-03-18

redis-4.0.14源码压缩包

redis 4.0.14源码包

2019-12-17

k8s添加秘钥时需要的 apt-key.gpg文件

因无法访问谷歌网络所以无法获取到pgp秘钥,下载此秘钥然后通过apt-key add apt-key.gpg将其加载即可

2019-04-11

Jfinal-3.2手册

java框架jfinal手册,一个轻量级的框架

2019-04-10

poi将word、PPT、Excel转pdf实现在线预览的jar包

poi将word、PPT、Excel转pdf实现在线预览的jar包

2019-01-23

jodconverter-2.2.2

openoffice将office转pdf所需的jar包,保证可用~~

2019-01-19

空空如也

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

TA关注的人

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