- 博客(53)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 Spring Boot 下 MyBatis 的几种使用方式
文章目录MyBatis + XMLMyBatis + 注解MyBatis-PlusMyBatis + XML使用 mybatis-spring-boot-starter 自动化配置 MyBatis 主要配置。同时,在 XML 中编写相应的 SQL 操作。1、引入依赖在 pom.xml 文件中,引入相关依赖。<dependencies> <dependency> <groupId>org.springframework.boot</.
2021-08-05 16:03:48 1860
原创 MySQL的几种备份恢复
MySQL的几种备份恢复文章目录MySQL的几种备份恢复一、mysqldump1.1、使用 mysqldump 以 SQL 格式转储数据1.2、重新加载 SQL 格式备份1.3、部分 mysqldump Options二、mysqlbinlog2.1、使用二进制日志进行时间点恢复三、mysqlbackup3.1、备份操作backup-to-imagebackupbackup-and-apply-log3.2、验证操作3.3、还原操作copy-back-and-apply-logcopy-back3.4、其
2021-01-29 09:36:25 760
原创 Java实现word转PDF
表示这个依赖项将从本地文件系统的一个具体位置加载,而不是从Maven中央仓库或其他远程仓库。从中央仓库拉取不到,所以从固定位置加载(如果能拉取到就直接指定),其中。指定了JAR文件在本地系统上的确切路径。这个中央仓库能拉取到。
2024-03-05 18:29:46 607
原创 String... 和 String[] 的区别
String...和String[]String[]明确表示一个字符串数组。它可以在方法参数中使用,也可以用于局部变量、成员变量等场景。当你需要定义一个字符串数组时,你会使用String[]。String...是一种特殊的方法参数,称为可变参数(varargs)。它允许你在调用方法时传入任意数量的字符串参数,而不是预先定义的数组。编译器在内部将这些参数转换为一个数组。可变参数必须是方法签名中的最后一个参数。
2024-03-04 09:12:09 1175 1
原创 将扁平化的 Map 转换成分层 Map,方便转换 Json
然后我们使用一个嵌套的循环遍历所有的键值对,并将它们插入到新的LinkedHashMap中。在插入的过程中,我们需要递归地查找并创建当前层次的Map。首先,我们可以定义一个嵌套的Map,表示我们的数据结构。假设我们的数据包含三个键值对,分别代表“level1.level2.key1”、“level1.level2.key2”和“level1.level3.key3”。具体来说,我们可以遍历原始Map中的所有键值对,并根据’.'进行分割,然后将分割后的键和值分别插入到新的LinkedHashMap中。
2023-06-01 14:31:42 306
原创 Java 代码实现 Liquibase 的基本使用方法
首发地址,欢迎查看:https://www.pengtao.vip/archives/javadaimashixianliquibasedejibenyongfa前不久公司要求使用Liquibase替代Flyway对数据库版本进行管理,要求项目启动时进行数据库升级,但在网上搜索了一大圈,也不知道为啥,几乎没有关于使用Java代码操作Liquibase的教程,都是通过命令行进行管理。费了些劲,整理了Java操作 Liquibase 的几种常用方法,在此记录一下。updateupdate 通常用于将更.
2022-02-11 16:46:16 1513
原创 Liquibase简介及与Spring Boot的集成使用
首发地址:https://www.pengtao.vip/archives/liquibasejianjiejispringbootjichengshiyongLiquibase是什么Liquibase 是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制。Liquibase能干嘛不依赖于特定的数据库,目前支持包括 Oracle/SqlServer/DB2/MySql/Sybase/PostgreSQL 等几十种数.
2022-02-11 16:40:59 2068
原创 部署 Kafka 和 zookeeper 集群(均三节点)
1、系统环境本次部署为三台服务器部署zookeeper和Kafka集群。操作系统zookeeper版本Kafka版本CentOS Linux release 7.8.2003zookeeper-3.7.0kafka_2.13-3.0.0自行安装 JDK,启动zookeeper需要Java环境2、配置Zookeeper集群(三节点一样)1、创建Zk server的集群安装目录[root@rac2 /]# mkdir /data[root@rac2 /]# mk.
2021-12-17 16:16:38 1373
原创 Oracle GoldenGate 详细概述
什么是 Oracle GoldenGateOracle GoldenGate是用于实时数据集成和复制的综合软件包。它支持高可用性解决方案、实时数据集成、事务更改数据捕获、数据复制、转换以及操作和分析企业系统之间的验证。使用Oracle GoldenGate,您可以在企业的多个系统之间移动已提交的事务。Oracle GoldenGate使您能够将 Oracle 数据库之间的数据复制到其他受支持的异构数据库,以及异构数据库之间。为什么使用Oracle GoldenGate企业数据通常分布在整个企业的异构
2021-12-14 11:44:54 5772
原创 MongoDB 基本操作
首发地址:https://www.pengtao.vip/archives/mongodbji-ben-cao-zuo安装 MongoDB安装依赖包sudo yum install libcurl openssl下载wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.3.tgz # 服务包wget https://fastdl.mongodb.org/tools/db/mongodb-dat.
2021-11-30 14:06:29 280
原创 脚本执行错误,卸载RAC
卸载RAC如果脚本执行错误,重复执行也无法修复时,则需要使用 deinstall 卸载重新安装。root@rac2[+ASM1]/$ cd /u01/app/19.3.0/grid/deinstall./deinstall# 根据提示输入和执行脚本 n n y # 根据提示另开会话执行给定脚本root@rac2[+ASM1]/$ sh /u01/app/19.3.0/grid/crs/install/rootcrs.sh -force -deconfig -paramfile
2021-11-17 16:25:08 165
原创 系统扩大交换空间(swap)
系统扩大交换空间(swap)[root@rac3 app]# free -h total used free shared buff/cache availableMem: 1.8G 144M 868M 41M 805M 1.3GSwap: 2.0G 264K 2.0G[root@rac3
2021-11-17 15:57:54 140
原创 error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such
error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such一般这个错误就是依赖包没装完,执行以下安装即可yum install libnsl.x86_64
2021-11-06 16:01:04 19290 3
原创 Java获取yaml文件数据
通过 yaml 文件的 key 获取其值public class LiquibaseService { public Map yaml() { Yaml yaml = new Yaml(); URL url = LiquibaseController.class.getClassLoader().getResource("liquibase.yaml"); if (url != null) { try {
2021-10-18 09:30:41 1514 3
原创 Linux 系统安装 MySQL 教程(详细步骤)
当前 Linux 系统为 CentOS 7,如果系统为 CentOS 6 或CentOS 8,修改下载地址即可,其他步骤不变。CentOS 6 地址:https://dev.mysql.com/get/mysql80-community-release-el6-3.noarch.rpmCentOS 8 地址:https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm1、下载wget命令yum -y install w..
2021-08-09 14:47:11 1477
原创 解决MySQL 8修改密码等级报错:Unknown system variable ‘validate_password_policy‘
修改MySQL 8 密码报错mysql> set global validate_password_policy=LOW;ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'mysql> set global validate_password_length=5;ERROR 1193 (HY000): Unknown system variable 'validate_password_length
2021-07-29 11:29:09 1017
原创 yum安装报 [Errno 14] curl#6 - “Could not resolve host: mirrors.nju.edu.cn; Unknown error“类错误的解决方法
报错Downloading packages:compat-libstdc++-33-3.2.3-72.e FAILEDhttp://mirrors.nju.edu.cn/centos/7.9.2009/os/x86_64/Packages/compat-libstdc%2B%2B-33-3.2.3-72.el7.x86_64.rpm: [Errno 14] curl#6 - "Could not resolve host: mirrors.nju.edu.cn; Unknown error"正在尝
2021-03-31 14:55:05 8574 1
原创 ggsci: error while loading shared libraries: libnnz19.so: cannot open shared object file: ...
按顺序执行如下命令[oracle@localhost oggins]$ ./ggsci./ggsci: error while loading shared libraries: libnnz19.so: cannot open shared object file: No such file or directory# 1[oracle@localhost oggins]$ ldd ggsci linux-vdso.so.1 => (0x00007fff5c7e8000)
2021-03-30 11:14:41 1677 2
原创 打包spring boot项目报Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0......
在使用mvn clean package 命令对spring boot进行项目打包时,一直报Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)错误,如下:对于这个错误,可以在pom.xml文件中添加如下配置指定maven-resources-plugin版本,重新打包即可 <dependencies> <!--其他配置
2021-03-15 16:23:47 280
原创 Xtrabackup数据库备份与恢复
Percona-xtrabackup是 Percona公司开发的一个用于MySQL数据库物理热备的备份工具,支持MySQL、Percona server和MariaDB,开源免费,是目前较为受欢迎的主流备份工具。xtrabackup只能备份innoDB和xtraDB两种数据引擎的表,而不能备份MyISAM数据表。安装测试环境:CentOS 7 ,MySQL 5.7有多种安装方式,以下使用rmp包安装方式进行演示安装#下载rpm包#wget https://www.percona.com/
2021-02-19 10:58:02 744
原创 推荐 一个PDF转Word内容不匹配、乱码的解决方法
试过很多PDF工具,例如福昕、嗨格式等,从主流到小众、从软件到网页都试了一个遍,无一另外,全部失败了!后来发现了一个在线的转换器(http://app.xunjiepdf.com/pdf2word/),它转word有三种转换模式可供选择,分别是“追求转换速度、易于后续编辑和尽量保证排版”,如果你不注意没选择转换的模式,默认模式也是乱码,三个模式都试了一下,就只有“易于后续编辑”模式可正常把此PDF转成自己需要的东西!所以有些东西,多试几种方法,总能找到自己满意的一种!...
2021-02-07 21:24:40 865
原创 HikariCP连接池和Druid连接池
数据库连接池:数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。HikariCPHikariCP是由日本程序员开源的一个数据库连接池组件,它大约130Kb,是一个快速、简单、可靠的JDBC连接池。代码非常轻量,并且速度非常的快。根据官方提供的数据,在i7,开启32个线程32个连接的情况下,进行随机数据库读写操作.
2021-02-05 14:13:59 3978 1
原创 Redis的安装与配置
此教程是在 vmvare 虚拟机中来安装的 redis (centos 7),学习的时候如果有自己的阿里云服务器,也可以在阿里云中来安装 redis,都可以。只要能 ping 的通云主机或者虚拟机的 ip,然后在虚拟机或者云主机中放行对应的端口(或者关掉防火墙)即可访问 redis。1.安装 gcc 编译器因为后面安装 redis 的时候需要编译,所以事先得安装 gcc 编译。阿里云主机已经默认安装了 gcc,如果是自己安装的虚拟机,那么需要先安装一下 gcc:yum install gcc-c+.
2021-02-03 16:16:52 156
原创 如何使用Tika提取文件内容
如何使用Tika提取文件内容什么是Tika?Tika全名Apache Tika,是用于文件类型检测和从各种格式的文件中提取内容的一个库。Tika使用现有的各种文件解析器和文档类型的检测技术来检测和提取数据。使用Tika,可以轻松提取到的不同类型的文件内容,如电子表格,文本文件,图像,PDF文件甚至多媒体输入格式,在一定程度上提取结构化文本以及元数据。Tika提供用于解析不同文件格式的一个通用API。它采用83个现有的专业解析器库,所有这些解析器库是根据一个叫做Parser接口单一
2021-01-19 11:33:19 4924
原创 MySQL事务特征及其隔离级别
MySQL事务特性及其隔离级别什么是事务?在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。事务用来管理 insert,update,delete 语句事务的四大特性(ACID)原子性(Atomicity):一个事务中的所有操作,要么全部完成,要么全部未完成,如果事务在执行过程中发生错误,将会回滚到事务执行前的状态。一致性(Consistency):事务从开始到结束,数据
2021-01-14 16:05:53 79
原创 网络编程
网络编程概述Java是Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。ava提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java 的本机安装系统里,由JVM 进行控制。并且Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。网络基础计算机网络把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、.
2020-10-24 13:48:44 96
原创 Java 反射
反射什么是反射?反射就是在运行时才知道要操作的类是什么,并且可以在运行时获取类的完整构造,并调用对应的方法。Java ReflectionReflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法Java反射机制提供的功能在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时判断任意一个类所具有的成员变量和方法在运行时调用任意一个对象的成员变量和方法.
2020-09-03 19:29:47 173
原创 七牛云和Github如何使用PicGo设置免费图床
七牛云和Github如何使用PicGo设置免费图床通常,在我们写完博客之后,过一段时间发现博客里面的图片打不开了,这时我们该怎么办呢?图床 很好的给我们解决了这一大问题!免费的图床有很多,如七牛云、又拍云、SM.MS、github等,今天给大家分享 七牛云和Github如何使用PicGo设置免费图床:七牛云官网地址:https://portal.qiniu.com七牛云注册之后拥有10G永久免费空间,每月上传流量无上限,要实名认证首先注册七牛云账号点击“免费注册”,填写个人信息注
2020-08-27 17:11:41 471
原创 Java IO流
IO 概述输入(input):读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。将持久化的文件数据加载到内存中输出(output):将程序(内存)数据输出到磁盘、U盘等存储设备中Java 的IO 流主要包括输入流和输出流两种,每种输入、输出流又可分为字节流和字符流两大类:字节流以字节为单位来处理输入、输出操作(音频、图像、视频)字符流以字符为单位来处理输入、输出操作(文本文件)File 类File 类代表与平台无关的文件和目录。File 能新建、删除、重命名.
2020-08-26 21:52:53 137
原创 Java 多线程
程序、进程、线程概念程序(program):计算机指令的集合,以文件形式存储在磁盘上。即指一段静态的代码,静态对象。进程(process):是一个程序在其自身的地址空间中的一次执行活动;是系统进行资源分配、调度和独立运行的基本单位。程序是静态的,进程是动态的。(它使用系统资源)线程(thread):进程可进一步细化为线程,是一个程序内部的一条执行路径。是进程中的一个单一的连续控制流程,是操作系统能够运算调度的最小单位。被包含在进程中,是进程中的实际运作单位。一个进程可以拥有多个线程。若一个程.
2020-08-26 17:30:57 135
原创 lambda表达式和Stream流式处理
Lambda表达式lambda表达式 ,把代码变的更加简单。可读性比较差。简化匿名内部类的编写。直接实现接口中的函数函数实现用"->" 表示实现。{ }表示实现的具体逻辑。用接口去声明使用用声明的变量调用实现 的方法interface Inter{ int c();}interface Inter1{ int c(int x);}interface A{ int c(int a,int b);}interface B{ void b(.
2020-08-23 21:56:21 770
原创 Java异常
异常概述异常:程序执行中发生的不正常情况。开发过程中的语法错误不叫异常Java的异常处理:处理非预期的情况,如文件没找到,空指针等。Java程序运行过程中所发生的异常事件可分为两类:Error: JVM系统内部错误、资源耗尽等严重情况 (无法控制,不处理)Exception:其它因编程错误或偶然的外在因素导致的一般性问题。比如:空指针访问、试图读取不存在的文件等。是程序本身可以处理的异常异常分类Java的异常(包括Exception和Error)分为可查的异常(checked
2020-08-23 00:08:09 103
原创 Java集合框架
Java 集合概述Java 集合就像一种容器,可以把多个对象的引用放入容器中。Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系的关联数组Java 集合可分为Set、List 和Map 三种体系Set:无序、不可重复的集合,set又是以map为底层实现List:有序,可重复的集合,list接口是以数组为底层实现,是有序的Map:具有映射关系的集合,key-value(键值对),map接口底层是hash函数,无序(不是随机)在Java5 之前,Java 集合会丢失容
2020-08-18 23:35:08 141
原创 java8 新特性- 日期类的使用
/** * java8 新特性 日期 * 旧的: Date非线程安全的。API设计的比较乱。 * java8: * java.time包下: * LocalDate : 年月日 * LocaLDateTime: 年月日时间 * LocatTime: 时间 */ @Test public void test10() { LocalDate date = LocalDate.now(
2020-08-17 00:03:50 236
原创 Java常用类
Object类Object类是类层次结构的根,Java中所有的类都继承自这个类Object类是Java中唯一没有父类的类其他所有的类都继承了Object类中的方法如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类public class Person{ ...}等价于:public class Person extends Object{ ...}==操作符引用类型比较(是否指向同一个对象)Person p1 =
2020-08-16 23:56:27 268
原创 Java-接口和抽象类
抽象类写法及作用范围随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。抽象方法:只有方法的声明,没有方法的实现。以分号结束。abstract int abstractMethod1( int a );含有抽象方法的类必须被声明为抽象类。抽象类不能被实例
2020-08-14 22:46:53 139
原创 Java字符串处理小知识
Java字符串处理public void test7() { String s = "abc"; // 1.字符串转字节数组,toCharArray() char[] charArray = s.toCharArray(); System.out.println(Arrays.toString(charArray)); // 2.替换字符串,将'b'替换成'123',replace(); 正则表达式 St
2020-08-14 00:05:42 181
原创 面向对象大纲总结
类和对象1、面向过程注重过程来发,什么事情都要自己去完成如 C语言2、面向对象注重类的设计,找一个对象去完成这件事如 Java3、类和对象类是一个抽象的、不具体的,如汽车图纸对象是真实存在的,是类的实例,如根据图纸造出来的汽车4、类包含什么属性(成员变量、实例变量)行为(成员方法)方法重载1.必须在一个类中2.要求方法名相同3.参数列表不相同(个数不同、类型不同、类型的顺序不同)参数传递值传递(基本数据类型传递,传递的是值的副本)引用传递(引
2020-08-12 16:45:01 246
原创 Java-多态
Java-多态1、什么是多态多态就是多种形态,同一个动作作用于不同的对象产生不同的行为多态性,可以理解为一个事物的多种表现形态。在Java中有两种体现:方法的重载(overload)和重写(overwrite)子类对象的多态性(可以直接应用在抽象类和接口上)对象的多态性指一个对象多种形态;在Java中,子类的对象可以替代父类的对象使用形成多态的必要条件:继承:存在子类和父类的关系接口实现:定义一个类实现对应的接口重写:子类重写了父类的方法重载:调用相同的方法名,实现的功能时
2020-08-10 22:36:16 142
idea为什么新建的module都启动不了Tomcat
2020-04-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人