自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用 Spring Boot 和 Canal 实现 MySQL 数据库同步

在分布式系统中,数据同步是一个常见的需求。例如,我们可能需要将主库的数据实时同步到多个从库,或者将数据从一个数据库集群同步到另一个集群。本篇内容通过一个实际案例,介绍如何使用 Spring Boot 和 Canal 实现 MySQL 数据库之间的数据同步。Canal 是阿里巴巴开源的一款基于 MySQL Binlog 的增量数据订阅与分发工具。它通过模拟 MySQL 的从节点,实时捕获主库的 Binlog 日志,并将数据变更事件推送给下游消费者。

2025-02-17 17:17:42 1100

原创 解决 MyBatis Plus 在 PostgreSQL 中 BigDecimal 精度丢失的问题

在使用 MyBatis Plus 操作 PostgreSQL 数据库时,BigDecimal 精度丢失的问题可能是由于默认的类型处理器没有正确处理高精度数值。通过自定义类型处理器,我们可以覆盖默认行为,确保精度不会丢失。1.检查数据库字段定义,确保字段类型和精度设置正确。2.检查 SQL 插入语句,确保 BigDecimal 的值在插入之前是正确的。3.检查 MyBatis Plus 的配置,确保没有对 BigDecimal 进行不必要的处理。4.使用自定义类型处理器来确保精度不会丢失。

2025-02-14 16:19:11 641

原创 九.Spring Boot使用 ShardingSphere + MyBatis + Druid 进行分库分表

在现代化微服务架构中,随着数据量的不断增长,单一数据库已难以满足高可用性、扩展性和性能要求。提供了分库分表的能力,帮助我们轻松实现水平拆分。本文将介绍如何在项目中,结合MyBatis和Druid,实现分库分表的功能。提示:以下是本篇文章正文内容,下面案例可供参考在这篇实践中,我们使用了配合MyBatis和Druid实现了分库分表的功能。通过配置,我们定义了分库分表策略、数据源。结合MyBatis,我们可以在服务层进行 CRUD 操作,轻松管理数据。

2025-02-13 23:19:32 1108

原创 八.springboot集成mybatis+druid数据库连接池

集成Druid 是一个高性能的数据库连接池,结合了 C3P0 和 DBCP 等连接池的优点,能够高效地管理数据库连接Druid 已经在阿里巴巴的多个生产环境中部署,经过了大规模的严苛考验,具有较高的稳定性和可靠性MyBatis 提供了灵活的 SQL 映射和定制化功能,结合 Spring Boot 的自动配置机制,可以快速搭建高效的数据访问层。

2025-02-13 22:38:03 1028

原创 七.springboot集成Mybatis-Generator代码生成器

本节内容主要实战集成MyBatis,以及使用自动生成对应的和XML文件。此外,还可以生成一些高级查询功能。使用可以显著降低开发者的工作量,提高开发效率。在中创建类,import org/*** 自定义注释生成器/*** 设置用户配置的参数} /*** 给字段添加注释//根据参数和备注信息判断是否添加swagger注解信息 if(addRemarkComments && StringUtility . stringHasValue(remarks)) {

2025-02-13 21:23:28 781

原创 六.logback记录日志文件并按大小日期分割文件

通常我们项目中控制台能显示输出系统运行的日志,但是当我们的项目部署到线上环境的时候,我们一般需要要将日志记录保存成日志文件,方便线上排查问题和调试,此篇主要介绍如何通过配置springboot默认的日志框架logback来记录日志文件。配置前先通俗点解释下日志框架这里我们使用的是logback,由于spring boot默认在包中就包含了该包的引用,所以无需再额外引入此文主要使用logback来记录日志,并结合自身项目需求来进行配置,如需使用其他。

2025-02-10 23:01:08 791

原创 五.Springboot通过AOP实现API接口的签名验证

对外开放的接口,需要验证请求方发送过来的数据确实是由发送方发起的,并且中途不能被篡改和伪造,所以希望对接口的访问进行签名验证,以验证请求的合法性和完整性,防止数据篡改、伪造或重放攻击,保障接口调用的安全性;

2024-12-29 16:43:51 1118

原创 四.利用aop切面记录操作日志

在sprinboot框架中如何利用aop切面思想进行日志记录,希望我们在添加了这个注解的接口处能自动记录操作日志,我在写代码的时候只专注业务即可

2024-12-27 23:32:18 916

原创 三.利用@RestControllerAdvice统一处理异常Exception

Spring中提供了一个`@RestControllerAdvice`它是 `@ControllerAdvice` 和 `@ResponseBody` 的结合体,意味着使用该注解的类可以为所有的`@RequestMapping` 处理方法提供通用的异常处理和数据绑定等增强功能,并且方法的返回值将被直接写入 HTTP 响应体中,这里用来做全局异常处理正合适不过。

2024-12-24 22:38:32 934

原创 二.统一返回值封装

统一封装后端返回值可以提高接口的一致性、安全性、可维护性和用户体验;统一返回结果中一般主要包含3个参数分别是code,msg,data

2024-11-29 00:00:01 323

原创 一.准备环境,从零开始搭建项目

一般一个项目中一定会包含多个模块,把每个模块单独分开势在必行,本项目采用父子项目结构搭建,将每个模块单独分开,代码结构清晰

2024-11-28 22:03:04 454

原创 微信小程序Webview与H5通信

微信小程序中频繁传递数据到H5进行渲染,且需要保证页面不刷新,此方法验证有效

2024-11-26 23:07:45 2110

原创 安装oracle客户端连接数据库

步骤3、配置连接监听tnsnames.ora,找到Oracle客户端安装目录下的tnsnames.ora,没有就自行创建一个。本地仅安装Oracle客户端,用plsql developer连接数据库,安装后打开plsql developer配置oci.dll文件路径,最后重启pl/sql输入连接用户名和密码即可。注:13版本后无需下载语言包即可切换中文。此篇记录自己的安装使用步骤,以备后查。下载安装后,序列号注册码百度即可,步骤2、安装oracle客户端。步骤1、安装plsql。

2024-01-12 09:49:31 541

原创 Docker部署jar动态更新、重启

经过此番折腾,后续更新jar包之后,直接运行./restart.sh脚本就可以了。步骤1、在jar包路径下新建Dockerfile文件,并编辑内容。步骤5、在同级目录下创建重启脚本restart.sh。看到Successfully镜像就构建成功了。步骤6、给start.sh添加可执行操作权限。步骤2、打包docker镜像,

2024-01-11 12:20:32 1696 1

原创 nginx反向代理emqx配置https

步骤1:首先安装并启用emqx服务器,此步骤可参照官网文档操作,步骤2:配置nginx。

2024-01-11 11:54:52 1310

原创 三方开放接口,Springboot通过AOP实现API接口的签名验证

对外开放的接口,需要验证请求方发送过来的数据确实是由发送方发起的,并且中途不能被篡改和伪造,所以才会对接口的访问进行签名验证,以保证双方获取到的原来的信息是没有经过篡改的。@Aspect //定义一个切面@Slf4j//接口签名验证超时时间//接口签名唯一密钥// 定义切点Pointcutlog.info("开始验证签名");try {//获取timestamp参数//获取sign参数return RestResult.failed("timestamp和sign参数不能为空");

2023-06-21 11:17:28 3197 2

原创 vue将html转pdf

此方案纯前端实现,后端只需要接收文件并且保存即可,并且页面还原度比较高,对于pdf操作要求不高的需求,还是比较合适的解决方案。缺点就是无法复制,对pdf操作不大兼容。

2023-06-20 15:16:02 1454 1

原创 vue3结合Cesium开发遇到的问题

vue3结合Cesium开发遇到的一系列问题,error in ./node_modules/cesium/Source/Core/Resource.js无法定位BASE_URL等问题

2022-10-24 11:10:42 2352

原创 Cesium结合GIS天地图 加载倾斜摄影3dtile + vue3

将倾斜摄影OSGB数据转换为3dtile(转换方式很多,可以利用第三方工具cesiumlab)利用Cesium加载GIS地图,我这里使用的是天地图,可以加载其他地图都行加载3dtile数据到地图中展示

2022-10-21 16:12:15 8250 18

原创 acw_sc_v2 混淆解密 改写java版本

【代码】acw_sc_v2 混淆解密 改写java版本。主要改写unsBox函数和hexXor函数

2021-02-25 20:51:59 2036 3

原创 外部浏览器唤醒APP跳转指定页面,点击返回到APP首页

需求:分享内容页面中有一个按钮,点击跳转到APP中的指定的某个页面,例如分享了一个文章页面,点击按钮跳转到APP的文章详情页面页面跳转逻辑分析:情景1:用户未安装APP,点击跳转直接跳转下载链接即可情景2:用户安装了APP且已经打开APP(或者APP挂在后台),点击跳转按钮直接跳转至文章详情页,点击返回就返回到APP之前所处的页面情景3:用户安装了APP未打开APP(冷启动),点击跳转按钮直接跳转至文章详情页,点击返回就返回到APP首页实现:步骤1:在目标Activity清单文件

2021-01-18 21:02:54 7150 7

原创 Android在webview中点击链接页面会向上滑动一下

问题描述:webview中的H5内容包含有一个超链接,第一次进入界面点击链接页面会向上滑动一小块分析原因:因为我的layout中使用了Scrollview嵌入Webview,而我的Webview的高度使用的是web_content,可能是webview没有固定高度,所以点击链接webview抢占了焦点导致解决方法:1、设定webview为固定高度或者math_content2、给webview的父控件添加 android:descendantFocusability="blocksDe

2020-11-27 20:17:39 825 1

原创 Android studio3.x 多渠道打包apk

1、修改AndroidManifest.xmlapplication 节点中添加渠道配置。<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />2、修改module下build.gradlegradle 添加flavorDimensions 属性,用来控制多个版本的代码和资源,缺失会报错。android { ... defaultConfig {..

2020-05-26 16:13:53 287

原创 Xposed模块APP代码混淆

一、在app下的build.gradle中添加 buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } ...

2020-02-25 17:08:30 1425

原创 记一次android 在ipv6访问变慢的解决过程

经部分用户反馈手机用4G或4G+访问网络请求很慢;通过各种查找资料,都说DNS解析设置的问题,解析有两种 ipv4 ipv6 ,Android 默认不支持ipv6解析;通过切换WIFI和4G网络验证;基本断定为 4G 网络下,Android 端通过 ipv6 连接的服务地址;客户端用的http框架是okhttp,提供了 DNS 接口,通过实现此接口,将解析到的 ip 顺序调整一下,如果...

2019-12-23 20:50:42 4083

原创 解决微信公众号二次分享的BUG记录

一个以前的公众号分享功能,当时由于测试较少,导致关于页面二次分享链接会丢失自定义的图片和标题;各种疯狂查阅、调试,最终皇天不负有心人。以下是整个过程的记录------我的正常分享代码如下 $(function () { shareInit(); }) //分享初始化 function shareInit() { var ht...

2019-12-10 18:01:28 816

原创 VirtualApp中静默安装App

最近学习看到android沙箱VirtualApp,小编资历尚浅,只是从VA运用的角度记录了下来如何在VA中静默安装appVirtualApp github地址https://github.com/asLody/VirtualApp1、将需要安装的app包放置在assets目录下2、构建app安装需要的方法如下 private void installApp(String ...

2019-11-18 11:48:38 872

原创 H5移动端屏幕适配通用解决方案

;(function(win, lib) { var doc = win.document; var docEl = doc.documentElement; var metaEl = doc.querySelector('meta[name="viewport"]'); var flexibleEl = doc.querySelector('meta[na...

2019-11-14 15:00:01 116

原创 java利用jaudiotagger随机将MP3分割成小段

首先下载http://www.jthink.net/jaudiotagger/需要用到的jar包并添加引用import org.jaudiotagger.audio.mp3.MP3AudioHeader;import org.jaudiotagger.audio.mp3.MP3File;以下是我的示例代码 //原mp3文件 Fil...

2019-11-14 14:56:05 914

原创 .net web.config配置文件简单加解密

通常web.config里面包含一些敏感字符,包括一些数据库连接串等,这些敏感字符通常直接暴露出来有一定的安全隐患,通常我们会对web.config进行加密操作加密:新建文本文件encryptConfig.bat后缀名改为.bat,编辑内容为:@echo offC:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe...

2019-11-12 10:11:21 327

原创 记录使用plupload插件踩过的一个坑

记录一次在使用plupload过程中,初始化控件成功后,始终不触发上传动作以下是我的html代码(此处由于业务需要先点击“打开上传控件“再选择图片上传)<button id="openUpload">打开上传控件</button><div class="btm-local-style-cls" style="display: none"> &...

2019-11-11 21:19:42 835 3

空空如也

空空如也

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

TA关注的人

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