- 博客(33)
- 收藏
- 关注
原创 ShardingJDBC数据加密详解与实战
数据加密(数据脱敏) 是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。涉及客户安全数据或者一些商业性敏感数据,如身份证号、手机号、卡号、客户号等个人信息按照规定,都需要进行数据脱敏。数据加密模块属于ShardingSphere分布式治理这一核心功能下的子功能模块。Apache ShardingSphere 通过对用户输入的 SQL 进行解析,并依据用户提供的加密规则对 SQL 进行改写,从而实现对原文数据进行加密,并将原文数据(可选)及密文数据同时存储到底层数据库。
2026-01-08 08:16:50
760
原创 ShardingJDBC强制路由详解与实战
在一些应用场景中,分片条件并不存在于SQL,而存在于外部业务逻辑。因此需要提供一种通过在外部业务代码中指定路由配置的一种方式,在ShardingSphere中叫做Hint。如果使用Hint指定了强制分片路由,那么SQL将会无视原有的分片逻辑,直接路由至指定的数据节点操作。
2026-01-07 22:52:02
784
原创 ShardingProxy详讲与实战
Sharding-Proxy的优势在于对异构语言的支持(无论使用什么语言,就都可以访问),以及为DBA提供可操作入口。Sharding-Proxy 默认不支持hint,如需支持,请在conf/server.yaml中,将props的属性proxy.hint.enabled设置为true。在Sharding-Proxy中,HintShardingAlgorithm的泛型只能是String类型。Sharding-Proxy默认使用3307端口,可以通过启动脚本追加参数作为启动端口号。
2026-01-07 22:49:20
735
原创 一篇文章快速入门ShardingJDBC
水平分库包含了分库策略和分表策略.分库策略 ,目的是将一个逻辑表 , 映射到多个数据源#===============水平分库-分库策略==============#----分片列名称----#----分片算法配置----#分片算法名称 -> 行表达式分片算法#分片算法类型#分片算法属性配置分表策略, 如何将一个逻辑表 , 映射为多个 实际表#===============水平分库-分表策略==============#----分片列名称----##----分片算法配置----
2026-01-07 22:38:50
1112
原创 ShardingJDBC读写分离详解与实战
*读写分离原理:**读写分离就是让主库处理事务性操作,从库处理select查询。数据库复制被用来把事务性查询导致的数据变更同步到从库,同时主库也可以select查询。主库负责处理事务性的增删改操作,从库负责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。读写分离是根据 SQL 语义的分析将读操作和写操作分别路由至主库与从库。通过一主多从的配置方式,可以将查询请求均匀的分散到多个数据副本,能够进一步的提升系统的处理能力。
2026-01-07 22:22:29
694
原创 Docker新手教程:一文带你全面快速入门
命令说明常用参数基于dockerfile文件构建容器拉取镜像推送镜像到DockerRegistry查看本地镜像docker rmi删除本地镜像-f:强制删除镜像(即使有容器在使用)docker run创建并运行容器-d:后台运行容器 -it:交互式运行(就是能进入容器内部) -e:设置环境变量停止指定容器启动指定容器重新启动容器docker rm删除指定容器-f:强制删除正在运行的容器(相当于先 stop 再 rm)。docker ps查看容器-a: 查看所有容器。
2026-01-07 22:04:12
1660
原创 《系统掌握 ShardingSphere-JDBC:分库分表、读写分离、分布式事务一网打尽》
如今随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统单体的关系性数据库已经无法满足快速查询与插入数据的需求。阿里数据中心内景( 阿里、百度、腾讯这样的互联网巨头,数据量据说已经接近EB级)事务安全性,NOSQL数据库对事务的支持不完善. MySQL不可替代.遇到的问题解决方案此时项目是一个单体应用架构 (一个归档包(可以是JAR、WAR、EAR或其它归档格式)包含所有功能的应用程序,通常称为单体应用)这个阶段是公司发展的早期阶段,系统架构如上图所示。我们
2025-12-10 20:47:45
1021
原创 Maven私服Nexus从安装到实战
Maven 私服是一种特殊的Maven远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的远程仓库(中央仓库、其他远程公共仓库)。当然也并不是说私服只能建立在局域网,也有很多公司会直接把私服部署到公网,具体还是得看公司业务的性质是否是保密的等等,因为局域网的话只能在公司用,部署到公网的话员工在家里也可以办公使用。建立了 Maven 私服后,当局域网内的用户需要某个构件时,会按照如下顺序进行请求和下载。请求本地仓库,若本地仓库不存在所需构件,则跳转到第 2 步;
2025-12-10 20:34:29
901
原创 《开发必备!一篇文章掌握Maven》
https://maven.apache.org/what-is-maven.htmlMaven 是由 Apache 软件基金会开发Java 项目管理构建、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。Maven就是一个软件,掌握安装、配置、以及基本功能 (项目构建、依赖管理) 的理解和使用即可!Maven主要得功能就是项目构建和依赖管理功能,下面介绍下两个功能:学习 Maven 的主要目的之一,就是利用它来高效管理项目依赖。例如,引入 Sprin
2025-12-10 20:25:59
1183
原创 MyCat从入门到实战:一篇文章搞定MyCat
随着互联网及移动互联网的发展,应用系统的数据量也是成指数式增长,若采用单数据库进行数据存 储,存在以下性能瓶颈:为了解决上述问题,我们需要对数据库进行分库分表处理。分库分表的中心思想都是将数据分散存储,使得单一数据库/表的数据量变小来缓解单一数据库的性能 问题,从而达到提升数据库性能的目的。可以把MyCAT对数据库的作用和类比为 Nginx 对后端服务的影响:Nginx 将客户端流量分发到不同的后端服务以提升系统性能,而 MyCAT 则将数据库请求路由到不同的后端数据库节点,实现读写分离与分库分表,从而提高
2025-12-05 20:34:03
1345
原创 MyCat 下载与安装教程
Mycat是开源的、活跃的、基于Java语言编写的MySQL数据库中间件。可以像使用mysql一样来使用 mycat,对于开发人员来说根本感觉不到mycat的存在。开发人员只需要连接MyCat即可,而具体底层用到几台数据库,每一台数据库服务器里面存储了什么数 据,都无需关心。具体的分库分表的策略,只需要在MyCat中配置即可。简单来说之前我们直接请求MySQL,用MyCat之后直接请求MyCat,然后MyCat帮我们请求具体的数据库性能可靠稳定强大的技术团队体系完善社区活跃。
2025-12-05 17:09:50
1056
2
原创 MySQL一主一从搭建详细讲解
主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这 些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状 复制。
2025-12-05 17:02:39
861
原创 Mybatis的逆向工程讲解
所以日常开发中我们使用MyBatis3Simple生成的简单的基本的CRUD就行。上边是MyBatis3Simple生成的简单的基本的CRUD,现在我们修改targetRuntime为MyBatis3,然后将刚才生成的都删除,再重新生成一下。正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。可以看到product的类和mapper映射文件都成功生成了,并且mapper中生成了很多方法。targetRuntime:执行生成的逆向工程的版本。table:指定要逆向生成的表。
2025-12-02 19:39:42
1263
原创 深入理解SpringSecurity:从入门到实战到原理
文章摘要: 本文介绍了权限管理的基本概念和Spring Security框架的应用。首先阐述了权限管理的意义,对比了ACL和RBAC两种权限设计模型,重点分析了RBAC基于角色的访问控制优势。接着详细讲解了用户管理、权限管理(功能权限和数据权限)和角色管理三大核心组件的关系及数据库设计。第二部分聚焦Spring Security框架,说明其认证和授权核心功能,并与Shiro框架进行对比。最后通过创建SpringBoot工程和编写入门案例,展示了Spring Security的快速上手实践方法。全文系统性地介
2025-12-02 19:30:16
1488
原创 基于Kaptch生成图片验证码
默认没有实现图形验证码的功能,所以需要我们自己实现。,所以需要在过滤器之前添加一个自定义过滤器,用来校验用户输入的图形验证码是否正确。自定义的过滤器 ImageCodeValidateFilter 首先会判断请求是否为 POST 方式的登录表单提交请求,如果是就将其拦截进行图形验证码校验。如果验证错误,会抛出自定义异常类对象 ValidateCodeException,该异常类需要继承 AuthenticationException 类。
2025-12-02 17:06:21
1060
原创 JWT 详细讲解
*我们刚才的例子只是存储了id和subject两个信息,如果你想存储更多的信息(例如用户名)可以定义自定义claims。**相当于自定义自己的数据@Test.setId("9527") //设置唯一ID.setSubject("test") //设置主体.setIssuedAt(new Date()) //设置签约时间.setExpiration(new Date(System.currentTimeMillis() + EXPIRATION)) //设置过期时间。
2025-12-02 16:59:21
994
原创 Linux中安装java
选择Java archive下载java8版本(Java8、Java11、Java17、Java21都可以)选择Java SE 8选择Linux x64 PRM Package下载需要登录oracle账号,如果没有oracle的账号注册一个。
2025-11-08 14:14:10
332
原创 SpringBoot 整合logback日志详解讲解
本文介绍了SpringBoot中的日志框架选择与实战应用。主要内容包括:1)日志框架分为日志门面(如SLF4J)和日志实现(如Logback),推荐使用SLF4J+Logback组合;2)SLF4J采用门面模式,通过桥接组件适配不同日志实现;3)SpringBoot默认集成Logback,可通过logback-spring.xml配置文件自定义日志格式和输出路径。文章强调了应面向抽象编程,直接使用SLF4J接口而非具体实现,并提供了代码示例和配置文件模板。
2025-10-31 13:24:28
1119
原创 Springboot整合EasyPOI详细讲解教程
EasyPOI实战摘要:本文介绍了基于SpringBoot的EasyPOI集成实战,通过简化注解实现Excel导入导出功能。环境搭建包括SpringBoot 2.7.8、MySQL 8.0和EasyPOI 3.2.0等依赖配置。重点解析了@ExcelTarget和@Excel核心注解的使用,其中@Excel支持列名定义、单元格合并、格式转换等特性。相比原生Apache POI,EasyPOI显著降低了操作Office文档的复杂度,通过简单注解即可完成复杂Excel操作,提升开发效率。
2025-10-31 13:18:57
1411
原创 对象复制的类库工具Orika
OrikaUtils:高性能Java对象映射工具 Orika是一款高性能的Java对象映射工具,相比Apache BeanUtils等传统工具有显著性能优势。它底层采用javassist生成字节码而非反射,大幅提升执行速度。本文介绍了一个基于Orika的工具类OrikaUtils,提供以下核心功能: 支持简单字段映射和复杂字段名转换 提供单个对象转换(convert)和集合转换(convertList) 通过缓存MapperFacade实例优化性能 支持自定义字段映射关系(refMap参数) 工具类封装了O
2025-10-31 12:27:53
256
原创 后端接口开发的统一规范
后端接口开发规范摘要 本文介绍了后端接口开发的统一规范,主要包括: 统一响应格式:定义了包含code、message、data的标准响应对象,使用泛型BaseResponse<T>封装返回结果,并提供成功/失败静态方法。 参数校验:通过@Validated注解和BindingResult实现自动参数验证,简化基础数据校验工作。 状态码枚举:使用ResultCode枚举统一管理响应状态码和描述信息。 规范实施后,可使代码更规范、可读性更强、更易维护,示例展示了用户查询和添加接口的实现方式。
2025-10-15 17:28:30
1215
原创 EasyCode插件根据表快速生成代码
本文介绍了使用EasyCode插件快速生成代码的完整流程:1)在IDEA中安装插件并重启;2)配置数据库类型映射和项目设置;3)通过Database工具连接MySQL数据库;4)测试连接并选择目标数据库;5)右键表选择EasyCode生成代码,包括设置包名和选择生成的文件类型。该插件能自动生成实体类、DAO等代码,大幅提高开发效率。
2025-10-15 17:26:15
301
原创 Mybatis的缓存(了解)
MyBatis缓存机制解析:包含一级缓存(SqlSession级别)和二级缓存(SqlSessionFactory级别)。一级缓存默认开启,失效情况包括不同SqlSession、查询条件变更、增删改操作或手动清空。二级缓存需手动开启,要求实体类实现序列化接口,失效条件与一级缓存类似。二级缓存支持LRU等回收策略,查询顺序为二级→一级→数据库。可通过整合EHCache扩展缓存功能,需添加相关依赖并配置ehcache.xml文件。EHCache提供更丰富的缓存管理能力,但分布式环境下推荐使用Redis等方案。
2025-10-14 21:08:50
811
原创 Mybatis使用注解增删改查
使用注解去查询可以不用创建mapper.xml文件,直接将sql写在mapper接口用注解的方式写在接口的方法上。1.使用注解没有实现Java代码和SQL语句的解耦。3.进行多表的查询时定制ResultMap比较麻烦。2.无法使用动态SQL实现SQL语句的动态拼接。其余的方法就不展示了用法都一样。注解和XML的优缺点。
2025-09-10 21:54:28
439
原创 Mybatis知识点详细总结:一篇文章带你全面掌握
MyBatis是一个简化数据库操作的持久层框架,它封装了JDBC,使开发者能够更简洁地执行SQL语句。
2025-09-10 21:53:17
634
原创 《VMware 安装 CentOS 7 虚拟机详细教程(含图解步骤)》
本文详细介绍了CentOS 7.9系统在VMware虚拟机中的安装步骤。首先提供了两种获取VMware软件的方式(官网下载和网盘获取),以及两种获取CentOS 7.9镜像的方法(阿里镜像站和网盘)。随后分步骤展示了从创建虚拟机到系统安装的全过程,包括磁盘分区(/boot、swap、/分区设置)、软件选择(推荐GNOME桌面)、网络配置、用户创建等关键环节。安装完成后需要进行简单的初始化设置,整个流程配有详细的截图说明,适合初学者按照指引完成CentOS系统的安装部署。
2025-08-19 22:01:15
826
原创 MySQL安装与卸载详细教程
本文详细介绍了在Windows和Linux系统中MySQL的安装与卸载步骤。Windows部分包括:1) 停止服务、卸载组件、删除安装和数据目录等完整卸载流程;2) 下载安装包、图形化安装向导、配置环境变量等安装步骤;3) 服务启动停止和连接MySQL的方法。Linux部分则提供了:1) 停止服务、查询安装文件、批量卸载软件包、删除配置文件的卸载流程;2) 基于rpm包的安装方法。文章配有大量截图辅助说明,适合需要完整清理或重新安装MySQL的用户参考。
2025-08-19 21:43:57
1476
原创 基于Docker Compose部署单机Redis
本文详细介绍了如何使用Docker-compose部署单机Redis。首先,确保已安装Docker和Docker-compose,并通过命令行安装Docker-compose。接着,下载并修改Redis配置文件,包括设置访问IP、端口、数据存储位置、密码等。然后,编写docker-compose.yml文件,配置Redis镜像、容器名称、端口映射和数据卷挂载。最后,通过执行docker-compose up -d命令启动Redis服务,并通过客户端测试连接和操作,验证部署是否成功。整个过程涵盖了从安装到配置
2025-03-13 17:01:08
2760
原创 如何解决linux中的ip地址总变
我们在使用虚拟机的时候发现linux虚拟机的ip地址总是变这是为什么,这是因为linux默认是自动获取ip,所以在每次我们重启虚拟机的时候IP地址都会换,那么我们该怎么解决这个问题呢?1.将自动获取ip设置为静态获取ip在虚拟机中输入vim/etc/sysconfig/network-scripts/ifcfg-ens33,进入下面的页面2.修改BOOTPROTO为static加入属性IPADDR,设置你想要设置的ip3.重新启动网络服务使修改生效service network re
2022-04-16 14:09:58
11162
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅