自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

月轩居士

哪怕前路崎岖,也要勇敢前行!!!

  • 博客(873)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 springJPA 使用@CreatedDate

在项目中我们通常在新增数据时会将数据添加的时间保存到数据库中,那么这时候我们可以使用@CreatedDate来实现这个功能

2024-04-02 18:01:04 277

转载 JPA中@ElementCollection使用

在JPA中,@ElementCollection注解主要用于映射集合属性,例如List、Set或数组等集合属性,以及Map结构的集合属性,每个属性值都有对应的key映射。这个注解可以用于实体类的字段,表示该字段是一个元素集合,每个元素都会被映射到数据库中的一行。

2024-04-02 17:08:44 73

原创 Java中@Pattern注解常用的校验正则表达式

项目开发中经常会遇到对用户输入内容的限制和校验,标识字段有严格命名限制,用户输入校验这部分工作前端可以做,当然后端也可以通过在实体类中添加注解的方式实现参数校验。其底层原理还是拦截器拦截请求,对带有相关注解的属性字段进行处理(非空、大小、长度、内容等判断和校验)。

2024-03-28 16:32:45 347

原创 实现 PDF 添加水印的五种方式

PDF(Portable Document Format,便携式文档格式)是一种流行的文件格式,它可以在多个操作系统和应用程序中进行查看和打印。在某些情况下,我们需要对 PDF 文件添加水印,以使其更具有辨识度或者保护其版权。本文将介绍如何使用 Spring Boot 来实现 PDF 添加水印的方式。

2024-03-17 19:15:28 831

原创 前后端大文件分片上传、断点续传和秒传

文件上传在项目开发中再常见不过了,大多项目都会涉及到图片、音频、视频、文件的上传,通常简单的一个Form表单就可以上传小文件了,但是遇到大文件时比如1GB以上,或者用户网络比较慢时,简单的文件上传就不能适用了,用户辛苦传了好几十分钟,到最后发现上传失败,这样的系统用户体验是非常差的。

2024-01-27 18:27:39 793

原创 Mybatis Plus 大数据游标分页

随着业务的发展,许多应用面临处理大数据量的挑战。传统的分页方式在处理大数据量时可能带来性能问题,而MyBatis Plus提供的游标分页是一种解决方案,可以显著提高性能,更有效地处理大量数据。

2024-01-27 18:05:37 778

原创 MyBatis Plus 多租户支持

随着云计算和微服务架构的发展,多租户系统逐渐成为企业开发中的常见需求。多租户系统指的是在同一个软件实例中为多个租户提供服务,并且这些租户之间的数据需要进行隔离。MyBatis Plus为多租户场景提供了支持,通过合理配置和扩展,可以实现数据隔离和多租户访问控制。

2024-01-27 17:50:34 465

原创 Mybatis Plus 数据分片-水平分库分表策略

在实际应用中,需要根据业务需求和数据量的大小,选择合适的分片键和分片规则,以达到提高数据库性能和可扩展性的目的。在使用MyBatis Plus进行数据分片时,需要谨慎处理跨库跨表的查询,注意数据迁移和扩容的问题,以确保整个数据分片系统的稳定性和可维护性。数据分片是一种处理大量数据的有效策略,但在实施过程中需要注意一些关键的事项,以确保分片系统的性能、稳定性和可维护性。分片规则的设计直接关系到数据分片的正确性,以及每个分片的数据能否被正确路由到相应的库和表中。选择合适的分片键是数据分片中至关重要的一步。

2024-01-27 17:31:43 1161

原创 MyBatis Plus 的代码生成定制化

MyBatis Plus 提供了强大的代码生成器功能,可以自动生成基于 MyBatis 的 CRUD 操作代码,从而加速项目开发。然而,有时默认生成的代码可能不符合项目的具体风格和规范。本文将深入探讨如何通过定制化 MyBatis Plus 的代码生成器,生成符合项目风格的代码,提高代码质量和可维护性。

2024-01-27 17:10:12 194

原创 Mybatis Plus批处理操作

在实际应用中,我们经常面对大批量数据的处理需求,例如数据的批量插入、更新、删除等操作。MyBatis Plus 提供了强大的批处理支持,可以帮助我们高效地处理大规模数据。

2024-01-27 17:00:57 752

原创 Mybatis Plus 懒加载实现

懒加载是一种优化数据库访问的策略,它允许只在需要的时候加载数据,而不是在一开始就加载所有数据。在 MyBatis Plus 中,懒加载是一项强大的功能,能够有效减少不必要的数据库查询,提升系统性能。

2024-01-27 16:44:54 1103

原创 解决Error: error:0308010C:digital envelope routines::unsupported的四种解决方案

问题描述: 报错:Error: error:0308010C:digital envelope routines::unsupported报错原因: 主要是因为nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。 我的node版本是v18+

2023-11-19 15:39:22 52355 21

原创 MySQL分库分表

全面认识MySQL分库分表

2023-11-13 09:45:59 172

原创 Linux 中RabbitMQ 常用命令

【代码】Linux 中RabbitMQ 常用命令。

2023-10-26 18:05:53 500

原创 Linux日志文件常用查询命令

查询某个日志行号区间:cat -n xx.log |tail -n +100 |head -n 100(查询100行至200行的日志)实时监控某个日志文件的变化:tail -f xx.log;实时监控日志最后100行:tail -n 100 -f xx.log。查询日志文件中包含debug的日志行号:cat -n xx.log|grep"debug"分页查询日志信息:cat -n xx.log |grep "debug" |more。查询日志尾部最后100行日志:tail -n 100 xx.log。

2023-10-04 14:58:06 339

原创 解决“该虚拟机似乎正在使用中”问题

在用VMware虚拟机的时候,有时会发现打开虚拟机时提示“该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消©”按钮以防损坏。

2023-09-30 13:31:21 4599 13

原创 CentOS8安装 MySQL8.1 + Navicat连接数据库

MySQL第一次启动的时候,进行了初始化,创建了超级管理员用户’root’@‘localhost’,自动生成的密码会打印在mysqld.log文件中,使用以下命令可以获取到管理员的密码。的版本,点击【Download】按钮进入下载页面(这里需要使用oracle官网账号登录后才可以跳转到下载页面,如嫌麻烦可直接复制下文中的wget脚本)安装前提是系统中没有安装其他版本的mySQL数据库,如果安装了其他版本的数据库请先自行卸载。获取到密码之后,我们应该尽快修改密码,使用root用户。7、开始安装MySQL。

2023-09-23 16:44:54 273

原创 Java百万级别数据Excel导出

在项目开发中往往需要使用到数据的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。

2023-08-23 13:35:38 716

原创 java.sql.SQLException: Unknown system variable ‘tx_isolation‘ 问题解决

java.sql.SQLException: Unknown system variable 'tx_isolation' 问题解决

2023-08-17 17:28:32 126

原创 Python国内镜像

Python 国内镜像

2023-08-17 17:22:58 57

原创 将网页都变成灰色的方法

使这个网页的颜色变成灰色的最简单的方法,就是在当前页面的css里面。添加下面的代码,并且让他在任意的浏览器里面正确的执行:方法一:<style type="text/css">html { filter:grayscale(100%); -webkit-filter:grayscale(100%); -moz-filter:grayscale(100%); -ms-filter:grayscale(100%); -o-filter:grayscale(1

2022-12-04 00:57:16 757 1

原创 添加索引场景分析

1、 表的某个字段值得离散度越高,该字段越适合选作索引的关键字。主键字段以及唯一性约束字段适合选作索引的关键字,原因就是这些字段的值非常离散。尤其是在主键字段创建索引时, cardinality (基数,集的势)的值就等于该表的行数。 MySQL 在处理主键约束以及唯一性约束时,考虑周全。数据库用户创建主键约束的同时, MySQL 自动创建主索引( primary index ),且索引名称为 Primary;数据库用户创建唯一性索引时, MySQL 自动创建唯一性索引( unique index )。

2022-11-15 16:32:38 504

翻译 大文件上传:秒传、断点续传、分片上传

前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。那有没有比较好的上传体验呢,答案有的,就是下边要介绍的几种上传方式详细教程秒传1、什么是秒传通俗的说,你把要上传的东西上传,服务器会先做MD5校验,如果服务器上有一样的东西,它就直接给你个新地址,其实你下载的都是服务器上的同一个文

2022-04-26 18:35:02 669

原创 关于Java获取时间戳的方法

Java有两个取时间戳的方法:System.currentTimeMillis() 和 System.nanoTime(),它们的使用场景是有区别的。# System.currentTimeMillis() 存在性能问题?答案是否定的。这两个方法性能差异取决于操作系统。Windows:在 Windows 下,System.currentTimeMillis() 比 System.nanoTime() 要快很多,这是因为 Windows 系统为前者提供的只是一个缓存变量,而后者则是实时的

2022-03-11 02:15:12 701

原创 实用Shell脚本

1、Dos攻击防范(自动屏蔽攻击 IP)#!/bin/bashDATE=$(date +%d/%b/%Y:%H:%M)LOG_FILE=/usr/local/nginx/logs/demo2.access.logABNORMAL_IP=$(tail -n5000 $LOG_FILE |grep $DATE |awk '{a[$1]++}END{for(i in a)if(a[i]>10)print i}')for IP in $ABNORMAL_IP; do if [ $..

2022-03-10 19:57:26 206

原创 idea Build Project时报错

SpringBoot编译报错:java: JPS incremental annotation processing is disabled. Compilation results on partial recompilation may be inaccurate. Use build process “jps.track.ap.dependencies” VM flag to enable/disable incremental annotation processing environment.

2021-12-13 18:50:07 1337 1

转载 fastjson在反序列化时,解析对象中的继承,抽象类处理

LimitActionConfig是ActionConfig的子类,RuleConfig的有个属性是ActionConfig,需要反序列化成LimitActionConfigParserConfig parserConfig = new ParserConfig() { @Override public ObjectDeserializer getDeserializer(Type type) { if (type ==.

2021-11-24 18:20:06 1582

原创 SpringBoot设置关闭Swagger控制台日志

在application.properties文件里面添加:1.logging.level.springfox=error;2.swagger.service.enabled=false;

2021-11-24 18:17:29 1555

原创 mybatis-mate 简介

简介mybatis-mate 为 mp 企业级模块,支持分库分表,数据审计、数据敏感词过滤(AC算法),字段加密,字典回写(数据绑定),数据权限,表结构自动生成 SQL 维护等,旨在更敏捷优雅处理数据。主要功能 字典绑定 字段加密 数据脱敏 表结构动态维护 数据审计记录 数据范围(数据权限) 数据库分库分表、动态据源、读写分离、数据库健康检查自动切换。 使用1.依赖导入Spring Boot 引入自动依赖注解包..

2021-11-06 16:50:14 10183 3

原创 接口开发事项

做接口需要考虑的问题什么是接口接口无非就是客户端请求你的接口地址,并传入一堆该接口定义好的参数,通过接口自身的逻辑处理,返回接口约定好的数据以及相应的数据格式。接口怎么开发接口由于本身的性质,由于和合作方对接数据,所以有以下几点需要在开发的时候注意:1.定义接口入参:写好接口文档2.定义接口返回数据类型:一般都需要封装成一定格式,确定返回json还是xml报文等见如下返回数据定义格式:package com.cai...

2021-09-10 11:17:37 341

原创 Oracle 数据库修改用户名和密码

一、修改用户名1.1 查出需要修改用户的id(个人理解是id,不一定准确)SQL>selectuser#,namefromuser$wherename='TEST';commit;1.2 更改用户名SQL>updateuser$setname=‘TEST_NEW‘whereuser#=需修改的用户ID;commit;1.3 更新数据SQL>altersystemcheckpoint;SQL>altersystem...

2021-09-07 17:09:22 5277

原创 Oracle 时间日期格式处理

在项目中遇到“29-MAR-21 04.08.45.0000000 PM”这种日期格式,百度了一下找到了完美的解决方案,特此记录一下。SELECT TO_CHAR(CAST(CAST('29-MAR-21 04.08.45.0000000 PM' AS TIMESTAMP) AS DATE), 'yyyy-MM-dd hh24:mi:ss')FROM DUAL;...

2021-08-23 10:47:39 1152

原创 MYSQL插入方法

 我们常见的插入方法一般有这几种,普通插入语句、插入或更新、插入或替换、插入或忽略,应用在不同的场景中,在功能方面呢也会有所不同。1.普通插入语句insert into table ('a','b','c','d') values ('1','2','3','4');2、插入或更新如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就更新该记录,此时,可以使用"INSERT INTO … ON DUPLICATE KEY UPDATE …"语句:情景示例:这张表..

2021-07-01 15:04:32 2852

原创 Java中的finally执行场景

一、前言在开发过程中时常会遇到异常处理(try-catch),这时候就会涉及到finally执行的问题,所以特地写这篇文章深入研究一下finally的执行情况和返回值的情况。二、finally一定会执行吗?先给答案:肯定不是。我们可以看两种情况:2.1 在执行try块之前直接return,我们发现finally块是不会执行的public class TryCatchTest { private static int total() { int i = 11;.

2021-06-30 15:53:53 296

原创 Java 开发实用工具类

有很多工具类库,可以大大简化代码量,提升开发效率,很多的开发者却不知道。而这些类库早就成为了业界标准类库,大公司的内部也都在使用。1. Java自带工具方法1.1 List集合拼接成以逗号分隔的字符串// 如何把list集合拼接成以逗号分隔的字符串 a,b,cList<String> list = Arrays.asList("a", "b", "c");// 第一种方法,可以用stream流String join = list.stream().col...

2021-06-25 10:13:37 222

原创 Intellij IDEA 配置注释模板

一、类注释打开 IDEA 的Settings,点击Editor-->File and Code Templates,点击右边File选项卡下面的Class,在其中添加图中红框内的内容:

2021-06-01 17:32:31 283 1

原创 JavaBean与Map互转

一、摘要在实际开发过程中,经常碰到需要进行对象与map之间互转的问题,其实对于对象、Map 之间进行互转有很多种方式,下面我们一起来梳理一下:利用 JSON 工具包,将对象转成字符串,之后再转成 Map,这种需要转换2次,相对来说效率比较底; 利用 Java 反射,获取 Bean 类的属性和值,再转换到 Map 对应的键值对中,相对来说这种方法效率高些,在实现上比较麻烦; 利用 Java 的内省(Introspector) 实现,获取 Bean 类的属性和值,Map与对象互转,效率比较高;.

2021-04-20 20:32:00 3495

原创 Java日志框架——log4j2

Logback算是JAVA 里一个老牌的日志框架,从06年开始第一个版本,迭代至今也十几年了。不过logback最近一个稳定版本还停留在 2017 年,好几年都没有更新;logback的兄弟 slf4j 最近一个稳定版也是2017年,有点凉凉的意思。而且 logback的异步性能实在拉跨,功能简陋,配置又繁琐,远不及Apache 的新一代日志框架 -Log4j2目前来看,Log4j2 就是王者,其他日志框架都不是对手!Log4j2简介Apache Log4j 2是 Log4j(1) 的升..

2021-04-13 15:23:45 1516

原创 将GBK编码转换成UTF-8编码

将GBK编码的字符串转换为UTF-8编码 /** * 将GBK编码转换成UTF-8编码 * */ protected String gbkConvertToUtf8(String str) throws UnsupportedEncodingException { if (StringUtils.isNotBlank(str)) { //转换成gbk编码 String gbkChinese..

2021-03-23 22:00:32 15007

原创 JSONObject转换为Map<String, String>对象

方法一JSONObject obj = new JSONObject();{obj.put("key1", "value1");obj.put("key2", "value2");obj.put("key3", "value3");}Map<String, String> params = JSONObject.parseObject(obj.toJSONString(), new TypeReference<Map<String, String>>.

2021-03-17 19:43:32 9834

2017最新全国街道乡镇级以上行政区划

2017最新全国街道乡镇级以上行政区划代码表格详细记录了全国省份、城市、县、乡镇和街道,可直接导入数据库使用。

2018-12-20

Spring+springmvc+hibernate+JQueryEasyUI

spring+springmvc+hibernate+JqueryEasyui整合项目。可根据用户角色来进行权限管理。

2018-08-01

网络管理后台代码

一个实用的网络管理后台代码,采用SpringMVC+spring框架。

2017-12-18

阳光酒店管理系统

阳光酒店管理系统是一款功能强大,内容丰富的酒店管理系统,采用Struts+hibernate+Spring框架搭建而成,美观且实用。

2015-12-01

jQueryEasyui1.2.6

jQueryEasyui是一个十分不错的框架,美观,简单,实用

2015-09-01

aceAdminUI框架

国外很流行的后台开发框架,很适合后台人员的开发工作。

2015-09-01

Json字符应用的例子

一个关于Json应用的java例子,很实用哦

2015-09-01

jQuery用户注册表单验证代码

一个关于用户注册的JQuery表单验证小项目。

2015-09-01

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

TA关注的人

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