2.6k 2 分钟

# MyBatis-plus 编写 SQL 中 #与 $ 的使用区别 # 今天看到了一个 sql 如下: dao /** * 根据 price 和多个 name 来查询信息 * @param * @return * @author 窦凯欣 * @date 2024 年 07 月 09 日 0009 17:38:31 */ @Select({ "SELECT", "id, name", "FROM tab_class", "WHERE", "price =...
1.4k 1 分钟

# left-join 的使用注意事项 在很多场景下我们需要同时查询多张表进行关联查询出我们想要的数据 下面是错误的写法: 说明: 为什么说这是错误的写法,原因是当 sql 往下执行的时候走到了左连接查询此时并无其它的条件,而只有一个条件那么就是 resource_code 是相同的数据我们就查,然后左连接查询出了关联 resource_code 的所有数据在往下执行走到 WHERE 的时候在进行条件筛选,此时又会过滤掉一些数据。 SELECT...
2.8k 3 分钟

# Java8-StringJoiner 引言:在阅读项目代码时,突然看到了 StringJoiner 这个类的使用,感觉很有意思,对实际开发中也有用,实际上是运用了 StringBuilder 的一个拼接字符串的封装处理 # 介绍 StringJoiner 是 java8 新出的一个类,用于构造由分隔符的字符序列,并可选择性地从提供的前缀开始和以提供的后缀结尾。省的我们开发人员再次通过 StringBuffer 或者 StringBuilder 拼接 我们查看一下代码,试着猜一下 StringJoiner sj = new StringJoiner(":",...
1.5k 1 分钟

图表类 /** * 图表类 * @Author: lizheng * @Date: 2023/10/21 17:28 */@Data@NoArgsConstructor@AllArgsConstructor@Schema(description = "图表")public class Chart<T> { @Schema(description = "x轴数据集合") private List<String> xData; @Schema(description =...
3.1k 3 分钟

# Function 函数式接口 使用注解:@FunctionalInterface 标识,并且只包含一个 抽象方法 的接口是 函数式接口。函数式接口 主要分为 supplier 供给类型函数,Consumer 消费型函数,Runnable 无参无返回型函数和 Function 有参又返回型函数。 Function 可以看做转换型函数。 # supplier 供给型函数 supplier 的表现形式为不接受参数,只返回数据 # Consumber 消费型函数 Consumber 消费型函数 Consumber 消费型函数和 Supplier 刚好相反,Consumber...
4.1k 4 分钟

# pgsql 从 5 张不同表查询字段数据并综合返回 编写的查询数据库表的 sql 思路:从 5 张不同的表中,它们的结构大致相同。我们从 5 张表中拿到不同的字段的数据并返回 SELECT cr.YEAR, CAST(SUM(cr.operating_income) AS DECIMAL(10, 2)) AS total_operating_income, CAST(SUM(nr.total_profit) AS DECIMAL(10, 2)) AS total_total_profit, CAST(SUM(nr.net_profit) AS DECIMAL(10, 2)) AS...
11k 10 分钟

# Java 使用代码调用接口 (HttpClient 详细使用实例) 了解什么是 HttpClient: Java 中的 HttpClient 是用于进行 HTTP 请求和响应的类库。它提供了一种简单,灵活,可扩展的方式来发送 HTTP 请求 ==,并处理 HTTP 响应 ==。HttpClient 的核心功能包括创建 HTTP 请求,设置请求参数,发送请求,接收响应,处理响应数据以及处理异常情况。它使得在 Java 应用程序中实现 HTTP 通信变得更加方便和高效。 HttpClient 的主要功能: 实现了所有 HTTP 的方法...
3.2k 3 分钟

案例: 文件下载需求: 页面显示超链接 点击超链接后弹出下载提示框 完成图片文件下载 分析: 超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框,不满足需求 需求:任何资源都必须弹出下载提示框 解决方式:使用响应头设置资源的打开方式: content-disposition:attachment;filename=xxx 步骤: 定义页面,编辑超链接 href 属性,指向 Servlet, 传递资源名称 filename 定义 Servlet 获取文件名称 使用字节输入流加载文件进内存 指定 response...
5.3k 5 分钟

# 数据库执行语句打印、性能分析框架(p6Spy 的使用) # 概述 我们在调式程序难免要输出执行 sql 语句,可是使用 Mybatis 或者 JPA 等框架时,打印的的 sql 总是带着 ? 占位符,不能直接在数据库执行并且不够直观。所以迫切需要一款专注打印可执行的 SQL 及执行时间的 sql 打印、性能分析框架 p6Sql 。 # 一、p6spy # 1、介绍 p6spy 是一个开源项目,通常使用它来跟踪数据库操作,查看程序运行过程中执行的 sql 语句。 官网地址:p6spy 官网 # 2、原理 p6spy 将应用的数据源给劫持了,应用操作数据库其实在调用 p6spy...
1.1k 1 分钟

# mybatis-plus 查询,值为 null,字段不显示问题 场景: 编写了一个 sql 返回 List<Map<String, Object>> 类型数据,而数据库中某些字段有 id 的值而没有 name 的值,此时 name 为 null 的应该查询出来是:{id:10,name:null} 但是结果却是:{id:10} 后面的 name 就没有了,这篇文章就是解决这个问题的 解决方案: 需要修改 mybatis-plus 的配置即可。将 mybatis-plus 的 call-setters-on-nulls 设置为...