avatar
文章
100
标签
20
分类
20

主页
文章
标签
分类
TranquilXuan
搜索
主页
文章
标签
分类

TranquilXuan

com.alibaba.fastjson.JSON详解
发表于2024-07-15|后端数据处理|后端•数据处理
com.alibaba.fastjson.JSON详解目录 概述 快速入门 Maven 依赖 基本使用 常用 API JSON 序列化 JSON 反序列化 JSONPath 高级特性 自定义序列化和反序列化 注解 解析复杂 JSON 性能优化 安全性 参考资料 概述com.alibaba.fastjson.JSON 是阿里巴巴开源的一个高性能 JSON 处理库,主要用于 JSON 数据的解析和生成。 fastjson 提供了丰富的 API,用于将 Java 对象与 JSON 字符串之间进行相互转换,并且具有高效、简洁的特点。 快速入门Maven 依赖在你的项目中使用 fastjson 之前,需要在 pom.xml 中添加以下依赖: 12345<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.83</version> <!-- 请使用最新 ...
MySQL覆盖插入的实现
发表于2024-07-15|后端数据库|后端•数据库•MySQL
MySQL覆盖插入的实现在 MySQL 中,覆盖插入(也称为“覆盖更新”)是指在插入数据时,如果插入的记录已经存在,则更新该记录。 MySQL 提供了多种方式来实现覆盖插入,主要有以下几种方法: REPLACE INTO:如果记录存在,则删除并插入新的记录。 INSERT … ON DUPLICATE KEY UPDATE:如果记录存在,则更新该记录。 INSERT IGNORE:如果记录存在,则忽略插入操作(不会更新记录)。 方法 1:REPLACE INTOREPLACE INTO 会尝试插入新记录。如果记录的主键或唯一键已经存在,则先删除该记录,然后插入新记录。 语法12REPLACE INTO table_name (column1, column2, ...)VALUES (value1, value2, ...); 示例假设有一个 users 表: 12345CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100)); 使用 REPLACE INT ...
MySQL中IN和EXIST的区别
发表于2024-07-15|后端数据库|后端•数据库•MySQL
MySQL中IN和EXIST的区别从原理上解释 IN 和 EXISTS 的区别,需要深入了解它们在 SQL 查询执行过程中是如何处理的。 IN 子查询的原理IN 子查询用于检查某个值是否在一组给定的值列表中。其处理过程如下: 子查询执行: 首先,执行 IN 子查询,并生成一个结果集。这个结果集通常是一个值的列表。 例如:1SELECT department_id FROM departments WHERE department_name = 'Sales'; 生成一个包含所有满足条件的 department_id 列表。 主查询过滤: 主查询使用生成的结果集进行过滤。查询引擎会逐行检查主表中的每个值,判断其是否在子查询的结果集中。 例如:1SELECT * FROM employees WHERE department_id IN (SELECT department_id FROM departments WHERE department_name = 'Sales'); 这条语句会检查每个 employee 的 department_id ...
mybatis-generator使用教程
发表于2024-07-14|后端MyBatis|后端•MyBatis
mybatis-generator 使用教程为什么使用 MBG ?提高开发效率MBG 自动生成 MyBatis 相关的代码,包括 Java 实体类、SQL 映射文件和 DAO 接口,这样开发者可以节省大量的时间和精力,专注于业务逻辑的开发。 保证代码一致性手动编写的代码容易产生风格不一致和错误,而 MBG 生成的代码遵循一致的规范和模板,保证代码的一致性和可维护性。 快速迭代在数据库表结构发生变化时,MBG 可以快速生成新的代码,减少手动修改代码的工作量,适应快速迭代的开发需求。 减少重复劳动对于大多数 CRUD(创建、读取、更新、删除)操作,MBG 可以自动生成标准的代码,避免开发者重复编写类似的代码,提高开发效率。 适应复杂的 SQL 映射MBG 支持复杂的 SQL 映射生成,可以生成包括关联查询、多表联查等复杂 SQL 映射文件,满足复杂业务需求。 提供灵活的配置MBG 提供了高度可配置性,开发者可以根据具体需求配置生成的代码,包括生成文件的包结构、文件路径、表的映射等。 集成开发工具MBG 可以很方便地与 Maven 集成,通过 Maven 插件可以轻松运行 MBG,生成和更新 ...
SQL执行顺序详解
发表于2024-07-14|后端数据库|后端•数据库•MySQL
好的,以下是详细的SQL执行顺序的详解,并整理成文档格式: SQL执行顺序详解SQL 关键字执行顺序 FROM -> JOIN/ON -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT -> OFFSET -> UNION -> INSERT INTO / UPDATE / DELETE FROM FROM 子句 作用:指定查询的数据源表或视图。 语法:FROM table_name JOIN 子句 作用:将多个表连接起来,根据指定的条件。 语法:1JOIN table_name ON join_condition JOIN 关键字用于连接表。 ON 关键字用于指定连接条件。 WHERE 子句 作用:筛选符合条件的行。 语法:1WHERE condition GROUP BY 子句 作用:按照指定的列对结果集进行分组。 语法:1GROUP BY column_name HAVI ...
POJO(Plain Old Java Object)
发表于2024-07-14|后端Spring|后端•Spring
为什么需要区分POJO在开发中区分不同类型的POJO(Plain Old Java Object)具有以下几个重要的原因: 职责分离 实体类(Entity):负责与数据库表的映射,主要用于持久化操作。 查询对象(Query):封装查询条件,用于传递查询参数。 参数对象(Param):封装HTTP请求参数,用于控制器层接收前端数据。 视图对象(VO):封装展示层的数据,用于将数据传递给前端。 业务对象(BO):封装业务逻辑,用于服务层处理业务操作。 代码可读性和可维护性 通过明确区分不同的POJO类型,可以提高代码的可读性和可维护性,使得开发者能够快速理解代码的意图和使用场景。 开发者可以通过类名和字段名快速理解这个POJO的用途。 便于在大型项目中管理和维护代码。、 数据和逻辑的分离 将数据和逻辑分离可以减少耦合度,增强代码的可测试性和复用性。 实体类主要关注数据的持久化,而不包含业务逻辑。 业务对象关注业务逻辑,实现业务需求。 数据验证和转换 通过使用不同的POJO,可以在不同的层次进行数据验证和转换。 参数对象(Param)可以使用注解进行数据验证,如@NotNu ...
Butterfly代码块高亮踩坑
发表于2024-07-13|工程实践博客搭建|博客搭建•工程实践
Butterfly代码块高亮踩坑问题描述代码块没有高亮,没有复制按钮,看起来简直就像是文本 解决路线官方文档 - 代码高亮 issue 指路,也许有你需要的解答 首先查看hexo版本1heox --version hexo: 7.2.0hexo-cli: 4.3.2os: win32 10.0.22631 undefinednode: 18.16.0acorn: 8.8.2ada: 1.0.4ares: 1.19.0brotli: 1.0.9cldr: 42.0icu: 72.1llhttp: 6.0.10modules: 108napi: 8nghttp2: 1.52.0nghttp3: 0.7.0ngtcp2: 0.8.1openssl: 3.0.8+quicsimdutf: 3.2.2tz: 2022gundici: 5.21.0unicode: 15.0uv: 1.44.2uvwasi: 0.0.15v8: 10.2.154.26-node.26zlib: 1.2.13 修改 hexo 的 _config.yml 配置 注意,是hexo的,不是主题的 如果是 7.0.0 ...
如何使用图标库
发表于2024-07-13|博客搭建|博客搭建
如何使用图标库来美化 .yml 文件的 icon 在 Font Awesome 官方网站 上查看所有可用的图标和它们的分类 ([Font Awesome](https://fontawesome.com/#:~:text=URL%3A https%3A%2F%2Ffontawesome.com%2F Visible%3A 0% )) (Font Awesome Docs) Step 1. 找到图标库对应的 Code Snippet Step 2. 找到你想要添加图标的位置,添加“图标分类 Code Snippet”Font Awesome的图标分类主要包括: fas(Font Awesome Solid):实心图标。 far(Font Awesome Regular):常规图标(通常是空心的)。 fal(Font Awesome Light):轻量图标。 fab(Font Awesome Brands):品牌图标。 示例1fab fa-solid fa-x END
Butterfly主题页脚添加ICP备案信息
发表于2024-07-13|博客搭建|博客搭建
Butterfly主题页脚添加ICP备案信息方案一Step 1. 找到页脚布局文件 footer.pug Step 2. 添加备案号 方案二在 _config.butterfly.yml 的 footer.custom_text 中放入 Step 2 的 html 代码 END
BeanUtils.copyProperties(source, target)
发表于2024-07-13|后端Spring|后端•Spring
BeanUtils.copyProperties(source, target);功能概述 源对象和目标对象:copyProperties() 方法需要两个参数,一个是源对象(source),另一个是目标对象(target)。方法会尝试将源对象的属性值复制到目标对象中的对应属性。 属性名称和类型:复制过程中,只有当源对象和目标对象中具有相同名称和兼容类型的属性时,属性值才会被复制。 深拷贝与浅拷贝:默认情况下,copyProperties() 执行的是浅拷贝,即如果属性是引用类型,则复制的是引用而不是对象本身。 注意事项 异常处理:copyProperties() 方法声明了抛出 IllegalAccessException 和 InvocationTargetException。这要求调用时必须进行异常处理。 数据类型兼容性:当源对象和目标对象的同名属性类型不完全一致时(例如,一个是 Long 另一个是 Integer),复制可能不会执行,或者需要额外的处理。 数据类型兼容性处理 Spring 的 BeanUtils.copyProperties() 方法在执行属性复制时,主要 ...
1…8910
avatar
TranquilXuan
潜龙勿用,或跃在渊
文章
100
标签
20
分类
20
分类
  • 博客搭建5
  • 后端65
    • Java12
    • MyBatis5
    • Spring21
    • 中间件7
    • 工具库2
    • 性能优化1
    • 数据处理3
    • 数据库13
    • 软件工程1
  • 工程实践4
    • DevOps3
    • 博客搭建1
  • 数据架构1
  • 认知思考4
  • 读书笔记14
  • 软件工程7
    • UML1
    • 设计模式6
标签
MyBatis UML 认知思考 博客搭建 软件工程 工程实践 数据架构 DevOps 数据库 Elasticsearch 工具库 Spring 读书笔记 MySQL 中间件 后端 数据处理 性能优化 Java 设计模式
归档
  • 七月 20261
  • 一月 20252
  • 十二月 20245
  • 十一月 20241
  • 九月 202424
  • 八月 20245
  • 七月 202462
网站资讯
文章数目 :
100
已运行时间 :
本站总字数 :
9.2w
本站总访问量 :
最后更新时间 :
©2024 - 2026 By TranquilXuan
京ICP备2026046208号-1
搜索
数据库加载中