3.4k 3 分钟

# 记录不存在则插入,存在则更新 - replace into 与 insert update # 需求背景 MySQL 版本:5.7.20 # 开发规范 公司后端开发规范有这么一点: 更新数据库表中数据的时候,不允许先删,然后批量插入 需要将入参与表中数据比判断,找出哪些是新插入,哪些需要更新,哪些是删除的,然后再做对应的数据操作 # 需求 我们有表如下: 当商品配送完之后,需要记录它的最新配送价,若商品最新配送价已经存在则进行更新,不存在则执行插入 针对这个需求,我们有哪些实现方式? #...
3.3k 3 分钟

# spring.profiles.active 和 spring.profiles.include 的使用 / 区别 # 业务场景 一套程序可能会被部署到不同的环境,开发,测试,生产环境有不同的配置信息,包括 jdbc 地址,ip,端口等。如果在同一个配置文件中,每次部署去改配置,会非常麻烦且容易出错 # 优化方式 spring.profiles.active 属性 一个好方法就是创建不同的配置文件,且命名规则遵循...
1.6k 1 分钟

# hutool - 深克隆 导入依赖: <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.22</version></dependency>如果想要使用 hutool 来实现对象的深克隆,可以使用如下: ObjectUtil.cloneByStream(obj)PS:前提是这个对象必须实现...
4.3k 4 分钟

# hutool - 常用工具类 # 文件读取 - FileRader public static void main(String[] args){ File src = new File("E:\\test.txt"); FileReader fr = null; InputStream input = null; try { // 创建流 fr = new FileReader(src); input = FileUtil.getInputStream(src);...
1.9k 2 分钟

# Java Http 请求工具类 http-request 前言: 在我们日常工作中,我们需要经常和第三方接口进行交互通信,很多时候我们都是使用 http 协议进行交互,java 原生自带对 http 的支持 (java.net.*),但是使用起来不太方便,除此之外,用的最多的就是 apache httpclient 工具包。但是个人使用这么久而言,感觉不管是原生的亦或是 httpclient,使用起来都不太顺手,也略显复杂 在此推荐一个简单易用的类库:http-request github...
9.8k 9 分钟

# sql-blog 场景: 今天写了一个 针对每个用户查询对应的多个标签,和它的订单数量还有总价 表如下: user 用户表: user_tags 用户与标签关联表: tag_managment 标签表: order 订单表: 首先我们得考虑如何完成这个业务的查询先想 sql 怎么写: SELECT t.id, t.head, t.nickname, t.open_id, t.wx_union_id, t.sex, t.phone, t.state, t.address, t.create_time, t.delete_time, t.is_del, CAST(COUNT(o.id)...
4.9k 4 分钟

# sql-blog-day2024-05-26 # 场景: 今天写了一个数据量大的列表查询业务代码,需求是 查询一个 3 千多数据的表还要根据这个表的字段去查询另一个表对应的总数量。一对多关系的,然后在数据查询出来处理数据的时候使用 map 去处理数据结果是每条数据都要进行查询计算总数极大的影响都了性能问题,下面记录解决方式 # 代码: # coontroller /** * 分页查询矿山图层管理数据 * @param mineLayerDataDto * @return */@Anonymous@PostMapping("/getAll")public...
3.7k 3 分钟

# Predicate 类基本使用详解 # 一、基本方法 test 方法主要用于参数符不符合规则。返回值 boolean 写法如下: Predicate<String> fourLetterLong1 = new Predicate<String>() { @Override public boolean test(String s) { return s.length()>4 ?true:false ; }};配合 Lambda filter 使用如下: public...
27k 24 分钟

# 集合的概述 (重点) [TOC] 集合继承体系视图 (需要记住) # 1. 集合的由来 当需要在 java 程序中记录单个数据内容时,则声明一个变量 当需要在 java 程序中记录多个类型相同的数据内容时,声明一个一维数组 当需要在 java 程序中记录多个类型不同的数据内容时,则创建一个对象 当需要在 java 程序中记录多个类型相同的对象数据时,创建一个对象数组 当需要在 java 程序中记录多个类型不同的对象数据时,则准备一个集合 # 1.1 集合的框架结构 java 中集合框架顶层框架是:java.util.Collection 集合和 java.util.Map...
7.2k 7 分钟

# 配置接口文档 Swagger 和 Knife4j 教程 这里介绍了如何配置 Swagger 和 Knife4j 3.0 版本,强烈建议大家使用 Knife4j ,因为它的前身是 swagger-bootstrap-ui ,是在 Swagger 的基础上进行了界面的优化,使用起来比 Swagger 舒服了太多 # 配置 Swagger 首先在 pom.xml 中加入依赖 springboot 2.2.x 以下版本和 2.2.x 以上版本使用依赖不同 <!--如果使用的springboot是 2.2.x 以下版本,需要同时配置springfox-swagger2 和...