- 博客(33)
- 资源 (1)
- 收藏
- 关注
原创 Spring Boot(二十):RedisTemplate的序列化
RedisTemplate的键和值的默认序列化方式都是JdkSerializationRedisSerializer,这种序列化方式将Java对象序列化为字节数组存储到Redis中。
2025-04-11 21:11:29
650
原创 Spring Boot(十九):StringRedisTemplate的常用方法和注意事项
StringRedisTemplate的常用方法和注意事项
2025-04-11 21:05:38
463
原创 Spring Boot(十八):RedisTemplate和StringRedisTemplate
RedisTemplate是Spring Data Redis提供的一个核心类,它是一个用于与Redis进行交互的Java模板类。StringRedisTemplate是Spring Data Redis提供的一个专门用于操作Redis中字符串类型数据的模板类。
2025-04-08 20:48:10
872
原创 Mac下Redis的安装和配置
在Mac系统下安装和配置Redis可以通过多种方式实现,现在我们简单介绍一下适合大多数用户的,安装和配置都非常简单的使用Homebrew安装Redis。
2025-04-08 20:43:15
130
原创 Spring Boot(十七):集成和使用Redis
Redis(Remote Dictionary Server,远程字典服务器)是一个开源的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。
2025-03-23 23:05:34
814
原创 Spring Boot(十六):拦截器Interceptor
拦截器是一种AOP(面向切面编程)的轻量级实现方式,它允许我们在请求处理之前、请求处理之后及请求完成视图渲染完毕后执行一些自定义逻辑。
2025-03-23 23:01:51
559
原创 MySQL 5.7升级8.0报异常:ONLY_FULL_GROUP_BY
MySQL8.0默认的SQL模式包含了ONLY_FULL_GROUP_BY,MySQL5.7默认的SQL模式也包含了ONLY_FULL_GROUP_BY,但是MySQL5.6是不包含的
2025-03-22 12:20:30
880
原创 MySQL 5.7升级8.0报异常:处理新增关键字
MySQL 8.0版本相比5.7版本新增和删除了一些关键字,如果原来系统中一些表名或者字段名成为8.0中的关键字的话,系统会报异常
2025-03-21 09:13:48
907
原创 Spring Boot(十二):MyBatis-Plus的多数据源和分页
为什么需要多数据源同一个项目有时会涉及到多个数据库,这时我们就要配置多个数据源。配置多数据源的常见情况有以下两种:1)同一个项目中涉及两个或多个业务数据库,它们之间相互独立,这种情况也可以作为两个或多个项目来开发2)两个或多个数据库之间是主从关系,主库负责写,从库负责读多数据源的配置1、pom.xml配置在pom.xml中增加MyBatis-Plus多数据源依赖:<!-- MyBatis-Plus多数据源依赖 --><dependency> &
2022-05-09 20:02:37
3795
原创 Spring Boot(十一):MyBatis插件之MyBatis-Plus
MyBatis-Plus简介MyBatis的插件MyBatis-Plus,又叫苞米豆(baomidou),简称MP,官方说,它是为了猿类崛起而生,为了提高生产率而生,为了简化开发而生,不管它为了什么而生吧,反正是它出生了。MyBatis-Plus对MyBatis只做增强不做改变,所以引入它不会对现有工程产生影响,只需要做简单的配置,就可以快速进行单表的CRUD操作,从而节省时间,提高效率。MyBatis-Plus插件有很丰富的功能,比如:单表CRUD操作、代码生成、自动分页、逻辑删除等。My
2022-04-17 20:00:00
1724
原创 Spring Boot(十):Druid的监控统计和多数据源配置
Druid的监控统计Druid内置提供一个StatFilter,用于统计监控信息。下面我们就来做一些配置,启动Druid的监控。1、配置pom.xml<!-- druid数据库连接池 --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <versio
2022-03-12 20:30:00
5372
原创 Spring Boot(八):MyBatis的多数据源配置
为什么需要多数据源同一个项目有时会涉及到多个数据库,这时我们就要配置多个数据源。配置多数据源的常见情况有以下两种:1)同一个项目中涉及两个或多个业务数据库,它们之间相互独立,这种情况也可以作为两个或多个项目来开发2)两个或多个数据库之间是主从关系,主库负责写,从库负责读多数据源的配置下面我们通过一个示例来说明多数据源的配置1、配置文件配置在配置文件application-dev.yml中配置我们需要链接的数据库:blog和userspring: datasource:
2021-11-25 08:21:10
1217
原创 Spring Boot(七):集成MyBatis
MyBatis简介MyBatis是一款优秀的基于Java的持久层开源框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis避免了几乎所有的 JDBC代码及手动设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原生信息,将接口和Java的POJO映射成数据库中的记录。POJO:Plain Ordinary Java Object,普通的Java对象集成MyBatis1、引入依赖在pom.xml中引入相关依赖:<!-- 连接mysql的必要
2021-09-05 19:20:09
300
原创 Spring Boot(六):一招学会Log4j2
Log4j2简介日志框架slf4j、j.u.l、log4j、logback、log4j2的比较和log4j2配置文件详解,请参考上篇文章《Log4j2使用详解》Log4j2实例下面我们通过实例来看看Log4j2在Spring Boot中的应用1、引入log4j2依赖Spring Boot默认使用LogBack,如果我们要使用Log4j2,需要从spring-boot-starter-web中去掉spring-boot-starter-logging依赖,同时显式声明使用Log4j2的..
2021-08-14 17:08:00
569
原创 Log4j2使用详解
日志框架简单比较(slf4j、j.u.l、log4j、logback、log4j2 )slf4j:slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用(如log4j、logback、log4j2)。 j.u.l:j.u.l是java.util.logging包的简称,是JDK在1.4版本中引入的Java原生日志框架。 log4j:log4j是apache实现的一个开源日志组件。 logback:logback同样
2021-07-31 17:25:31
9762
1
原创 Spring Boot(五):基础配置
@SpringBootApplication@SpringBootApplication注解是加在项目的启动类上的一个组合注解,它由三个注解组成:@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan。@SpringBootConfiguration:表明这是一个配置类,开发者可以在这个类中配置Bean。@EnableAutoConfiguration:开启自动化配置,Spring Boot中的自动化配置是非侵入式的,在任
2021-07-25 16:40:13
199
原创 Spring Boot(四):工程结构
上篇文章中生成的web服务,项目结构如下:这是一个最简单的Spring Boot项目,项目结构说明如下:DemoApplication:带有main()方法的启动类static:放置静态资源文件templates:放置前端模版文件application.properties:配置文件DemoApplicationTests:单元测试类pom.xml:Maven构建说明文件我们文章中的所有实例都是基于前后端分离的,static和templates文件夹没有用,可以删除,同时
2021-07-17 17:07:19
443
原创 Spring Boot(三):开发一个web服务
下面我们通过IDEA来创建运行一个web服务1、打开IDEA,点击Create New Project2、选择Spring Initializr,Project SDK选择1.8,然后点击Next3、根据自己的项目信息,填写好下面的Project Metadata信息后,点击Next4、选择Web - Spring Web,然后点击Next5、填写项目名称和地址后,点击Finish6、查看启动类代码目录点开,可以看到DemoApplication类,这个类中有
2021-07-04 10:08:03
197
原创 Spring Boot(二):准备运行环境
Mac下安装Java 8系统:macOS Catalina 10.15.21、查看系统中是否已安装javajava -version若已安装,则会显示出java的版本号,比如:java version "1.8.0_151"若系统提示没有可使用的Java命令,说明这一版的Mac系统没有自带的jdk,需要自己安装2、安装Java 8打开官网:https://www.oracle.com/java/technologies/javase-downloads.html向下拉
2021-06-24 23:13:58
195
原创 Spring Boot(一):Spring Boot 简介
Spring Boot是什么Spring Boot是由Pivotal团队提供的全新框架,它是基于Spring 4.0设计的,且继承了Spring框架原有的优秀特性,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。另外Spring Boot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。使用Spring Boot有什么好处1、使编码变得简单2、使配置变得简单3、使部署变
2021-06-18 08:24:08
531
原创 Python中使用json.loads解析包含\n的字符串报错
Python中使用json.loads解析包含\n的字符串报错,示例代码如下:import json, pprint if __name__ == '__main__': json_str = '{\"id\":\"1\", \"content\": \"line1\nline2\"}' json_obj = json.loads(json_str) pprint.pprint(json_obj) 报错如下:json.decoder.JSONDecodeEr
2021-06-10 21:22:52
2469
原创 MySQL中的竖列变横列
工作中经常会用到竖列变横列的情况,下面通过一个实例来说一下实现竖列变横列的几种方式:创建数据库表:CREATE TABLE `student_score` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `user_name` varchar(32) NOT NULL DEFAULT '姓名', `subject` varchar(32) NOT NULL COMMENT '科目', `score` tinyint(1) N
2021-06-08 20:52:58
3336
原创 MySQL中的EXISTS用法
EXISTS语法:SELECT 字段 FROM table WHERE EXISTS (subquery); 参数:subquery是一个受限的SELECT语句(不允许有COMPUTE子句和INTO关键字)示例:SELECT * FROM A WHERE EXISTS (SELECT 1 FROM B WHERE B.id = A.id); EXISTS执行顺序:1、首先执行一次外部查询,并缓存结果集,如 SELECT * FROM A2、遍历外部查询结果集的每一行记
2021-02-21 22:03:33
51641
4
原创 MySQL中emoji表情包的存储问题
现象最近项目中存储emoji表情包的时候报错:### Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x81' for column 'column1' at row 1; uncategorized SQLException; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\x9F\x98\x81' for column
2021-02-17 15:17:10
1015
原创 Git 合并两个不同的仓库
应用场景:应用场景1:A公司的几个项目是找第三方B公司做的,每次发版上线的时候,A公司需要把B公司的代码合并到自己的代码库,然后发版部署应用场景2:有系统基础脚手架B,A系统是在这个脚手架基础上开发的,A和B不在一个git仓库中,有时候脚手架B也会更新迭代,这个时候就需要把脚手架B合并到已经开发的系统A中以上两个场景,都需要合并两个不同仓库的代码部署步骤:下载A公司的代码分支,并切换到test分支git clone https://git.test1.tech/project/A.
2021-02-16 21:35:27
613
原创 使用pdfkit生成网页的pdf 异常汇总
使用pdfkit生成pdf1. 采用Selenium、ChormeDriver和pdfkit生成网页的pdf2.使用pdfkit生成网页的pdf 异常汇总(本文)1、OSError: wkhtmltopdf reported an error代码示例:import pdfkit, time, pprintfrom selenium import webdriveroptions_chrome = webdriver.ChromeOptions()# 以最高权限运行opti..
2020-12-28 21:06:43
1860
原创 采用Selenium、ChormeDriver和pdfkit生成网页的pdf
原理: 使用Selenium + ChromeDriver打开页面, 拿到html 源码,然后再使用pdfkit生成pdf概念: Selenium:Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样 ChromeDriver:它是 google 为网站开发人员提供的自动化测试接口,是 selenium2 和 chrome浏览器 进行通信的桥梁 wkhtmltopdf:它是一个适用于多平台的ht...
2020-12-23 23:51:58
1627
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人