当前位置: 首页 > news >正文

【笔记】Day2.5.1查询运费模板列表(未完

(一)代码编写

1.阅读需求,确保理解其中的每一个要素:

  • 获取全部运费模板:这意味着我需要从数据库中查询所有运费模板数据。
  • 按创建时间倒序排序:这意味着查询结果需要根据模板的创建时间进行排序,最新的模板应排在最前面。

2.查看项目中是否已有用于表示运费模板的实体类(例如 CarriageEntity)。通常这个类会包含必要的字段,如 idcreated(创建时间)等

  • 使用查询包装器:利用 LambdaQueryWrapper 来构造查询条件。
  • 添加排序条件:使用 orderByDesc 方法,指定按照 created 字段进行降序排序。

3.我会使用框架(Service)提供的查询方法来执行查询。例如,如果有一个基础服务类提供了 list 方法,我会调用这个方法并传入之前构造的查询条件。

4.查询返回的通常是一个实体对象列表(例如 List<CarriageEntity>),我需要将这些实体转换为 DTO 对象,以便返回给调用者。

得如下; 写在controller中

@Override
public List<CarriageDTO> findAll() {
    // 1. 构造查询条件,按创建时间倒序
    LambdaQueryWrapper<CarriageEntity> queryWrapper = Wrappers.lambdaQuery();
    queryWrapper.orderByDesc(CarriageEntity::getCreated);

    // 2. 查询数据库
    List<CarriageEntity> list = super.list(queryWrapper);

    // 3. 将结果转换为 DTO 类型
    return list.stream().map(CarriageUtils::toDTO).collect(Collectors.toList());
}


(二)代码解析:

1.LambdaQueryWrapper<CarriageEntity> 中的 CarriageEntity 是一个泛型参数

<>内指定查询包装器将要操作的实体类型

2.LambdaQueryWrapper 提供了链式调用的方法构造查询条件

3.使用 Lambda 表达式引用实体类的字段,即.orderByDesc(CarriageEntity::getCreated);

想了想还是补充:

map()使用数据类型转换类CarriageUtils将查询到的结果映射(转换)DTO 

collect(Collectors.toList())将结果收集成列表(这是一个固定搭配)

(三)单元测试

1.创建测试目录

选择

2.创建测试

alt+enter之后

创建完测试之后就可以在刚刚创建的测试目录找到创建的测试

测试代码:

package com.sl.ms.carriage.service.impl;import com.sl.ms.carriage.domain.dto.CarriageDTO;
import com.sl.ms.carriage.service.CarriageService;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;import javax.annotation.Resource;import java.util.List;@SpringBootTest
class CarriageServiceImplTest {@ResourceCarriageService carriageService;@Testvoid saveOrUpdate() {}@Testvoid findAll() {List<CarriageDTO> all = carriageService.findAll();all.forEach(System.out::println);}@Testvoid compute() {}
}

单元测试遇到bug了 修好再回来补充↓

测试方法Failed to load ApplicationContext问题

相关文章:

【笔记】Day2.5.1查询运费模板列表(未完

&#xff08;一&#xff09;代码编写 1.阅读需求&#xff0c;确保理解其中的每一个要素&#xff1a; 获取全部运费模板&#xff1a;这意味着我需要从数据库中查询所有运费模板数据。按创建时间倒序排序&#xff1a;这意味着查询结果需要根据模板的创建时间进行排序&#xff0…...

阿基米德螺旋线等距取点

曲线公式 极坐标形式&#xff1a; 笛卡尔坐标形式&#xff1a; 弧长公式 对极坐标形式积分可得弧长为&#xff1a; 将上式转换为一元二次方程&#xff1a; 解此一元二次方程可得&#xff1a; 等距取点 弧长L等距递增&#xff0c;代入公式&#xff0c;再利用笛卡尔坐标公式即…...

2024年全球增强现实(AR)市场分析报告

一、增强现实统计数据(2024) 市场价值:2024年,全球AR市场价值超过320亿美元,并预计到2027年将突破500亿美元。用户基础:目前约有14亿活跃的AR用户设备,这一数字预计将在2024年增长至17.3亿。消费者认知:大约四分之三的44岁以下成年人对AR有所了解。购物体验:基于AR的购物…...

探索 NetworkX:Python中的网络分析利器

文章目录 **探索 NetworkX&#xff1a;Python中的网络分析利器**一、背景介绍二、NetworkX是什么&#xff1f;三、如何安装NetworkX&#xff1f;四、NetworkX的五个简单函数五、NetworkX的三个应用场景六、常见问题及解决方案七、总结 探索 NetworkX&#xff1a;Python中的网络…...

Python知识点:基于Python技术,如何使用AirSim进行无人机模拟

开篇&#xff0c;先说一个好消息&#xff0c;截止到2025年1月1日前&#xff0c;翻到文末找到我&#xff0c;赠送定制版的开题报告和任务书&#xff0c;先到先得&#xff01;过期不候&#xff01; 如何使用Python和AirSim进行无人机模拟 无人机技术的发展为许多行业带来了革命性…...

《中国林业产业》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《中国林业产业》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊。 问&#xff1a;《中国林业产业》级别&#xff1f; 答&#xff1a;国家级。主管单位&#xff1a;国家林业和草原局 …...

私域流量下的白酒新传奇:半年破五千万的营销策略揭秘

在当今的数字化浪潮中&#xff0c;某白酒品牌独树一帜&#xff0c;摒弃了实体店和传统电商的常规路径&#xff0c;仅凭其精心构建的私域流量生态&#xff0c;在短短六个月内创造了超过五千万元的销售额奇迹。这一非凡成就背后&#xff0c;蕴含着一套独特的营销策略。 重塑营销&…...

Tomcat 配置:方便运行 Java Web 项目

目录 一、作用 二、安装 三、配置环境 四、启动 五、访问 一、作用 是一个轻量级的web服务器&#xff0c;可使用Tomcat运行Java Web项目。 二、安装 1. 基于JDK&#xff08;安装Tomcat之前&#xff0c;先安装JDK&#xff0c;并配置环境变量JAVA_HOME&#xff09; 2. apache-tom…...

Spring Boot知识管理:机器学习与AI集成

5系统详细实现 5.1 管理员模块的实现 5.1.1 用户管理 知识管理系统的管理员可以对用户新增&#xff0c;修改&#xff0c;删除&#xff0c;查询操作。具体界面的展示如图5.1所示。 图5.1 用户管理管理界面 5.1.2 文章分类 管理员登录可以在文章分类新增&#xff0c;修改&#…...

Superset SQL模板使用

使用背景 有时想让表的时间索引生效&#xff0c;而不是在最外层配置报表时&#xff0c;再套多一层时间范围。这时可以使用SQL模板 参考官方文档 https://superset.apache.org/docs/configuration/sql-templating/#:~:textSQL%20Lab%20and%20Explore%20supports%20Jinja 我…...

算法工程师重生之第二十七天(合并区间 单调递增的数字 监控二叉树 总结)

参考文献 代码随想录 一、合并区间 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a…...

前端开发基础NodeJS+NPM基本使用(零基础入门)

文章目录 1、Nodejs基础1.1、NodeJs简介1.2、下载安装文件1.3、安装NodeJS1.4、验证安装2、Node.js 创建第一个应用2.1、说明2.2、创建服务脚本2.3、执行运行代码2.4、测试访问3、npm 基本使用3.1、测试安装3.2、配置淘宝npm镜像3.3.1、本地安装3.3.2、全局安装3.4、查看安装信…...

深度学习 nd.random.normal()

nd.random.normal() 是 MXNet 中用于生成符合正态分布&#xff08;高斯分布&#xff09;随机数的函数。它允许用户指定均值、标准差以及生成的随机数的形状。 函数签名 mx.nd.random.normal(loc0.0, scale1.0, shape(1,)) 参数 loc: 生成的随机数的均值&#xff0c;默认为 …...

Redis Geo 数据类型解析:基于 ZSET 的高效地理位置管理0708

根据官网介绍&#xff1a; Bitmaps are not an actual data type, but a set of bit-oriented operations defined on the String type which is treated like a bit vector. Since strings are binary safe blobs and their maximum length is 512 MB, they are suitable to s…...

爬虫post收尾以及cookie加代理

爬虫post收尾以及cookie加代理 目录 1.post请求收尾 2.cookie加代理 post收尾 post请求传参有两种格式&#xff0c;载荷中有请求载荷和表单参数&#xff0c;我们需要做不同的处理。 1.表单数据&#xff1a;data字典传参 content-type: application/x-www-form-urlencoded; …...

c++STL——map与set的使用及介绍

目录 前言&#xff1a; 1. 关联式容器 2. 键值对 3. 树形结构的关联式容器 3.1 set 3.1.1 set的介绍 3.1.2 set的使用 1. set的模板参数列表 2. set的构造 3. set的迭代器 4. set的容量 5. set修改操作 6. set的使用举例 3.2 map 3.2.1 map的介绍 3.2.2 map的…...

Vxe UI vue vxe-table select 下拉框选项列表数据量超大过大时卡顿解决方法

Vxe UI vue vxe-table vxe-grid select 下拉框选项列表数据量超大过大时卡顿解决方法 查看 github vxe-table 官网 vxe-table 本身支持虚拟滚动&#xff0c;数据量大也是支持的&#xff0c;但是如果在可编辑表格中使用下拉框&#xff0c;下拉框的数据量超大时&#xff0c;可能…...

python 基础笔记(其实有点内容的)

print(math.gamma(n)) # 求 (n-1) 的阶乘 数值, 数值计算 format(50, “b”) bin(50)[2:]&#xff0c; 这个“b” 就代表的是 binary format(14, ‘b’) ------> ‘1110’ 去除 0b 去掉前导零 str(000001) # 只适合python2.x ‘1’ “00000001”.lstrip(“0”) # python3…...

(39)MATLAB生成高斯脉冲及其频谱

文章目录 前言一、MATLAB仿真代码二、仿真结果画图 前言 高斯脉冲在通信中是很重要的调制符号波形&#xff0c;本文使用MATLAB生成高斯脉冲&#xff0c;并使用FFT变换给出其频谱。 一、MATLAB仿真代码 代码如下&#xff1a; % 信号参数 fs 100; % 采样…...

35岁前端开发者:转型还是坚守?

在互联网行业&#xff0c;35岁似乎成了一个敏感的年龄分水岭。很多前端开发者开始思考&#xff1a;到了35岁&#xff0c;是不是都要转型&#xff1f;本文将探讨这个话题&#xff0c;希望能为面临这一困惑的前端开发者提供一些参考。 一、35岁焦虑&#xff1a;现实还是误解&…...

如何3分钟免费为Figma安装中文界面插件:设计师效率提升完整指南

如何3分钟免费为Figma安装中文界面插件&#xff1a;设计师效率提升完整指南 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 作为一名中文设计师&#xff0c;你是否曾在使用Figma时因为英…...

智能客服语音定制不求人:IndexTTS 2.0企业级应用部署指南

智能客服语音定制不求人&#xff1a;IndexTTS 2.0企业级应用部署指南 1. 为什么企业需要智能语音定制&#xff1f; 想象一下这样的场景&#xff1a;当客户拨打客服热线时&#xff0c;听到的不再是机械冰冷的标准化语音&#xff0c;而是与品牌调性完美契合的温暖声线&#xff…...

权限控制避坑指南:为什么你的RBAC系统总出问题?从数据库设计到接口鉴权全解析

RBAC权限系统深度避坑指南&#xff1a;从数据库设计到接口鉴权的全链路实践 在数字化系统开发中&#xff0c;权限控制就像建筑物的承重墙——平时看不见&#xff0c;一旦出问题就是系统性崩溃。我曾见过一个日活百万的电商平台因为角色权限配置错误&#xff0c;导致客服人员误删…...

Echarts 数据大屏实战:150套模板助力企业级可视化开发

1. 为什么企业需要Echarts数据大屏&#xff1f; 在数字化转型的浪潮中&#xff0c;数据可视化已经成为企业决策的重要工具。想象一下&#xff0c;当你的老板需要在3秒内了解公司当月销售情况、用户增长趋势和库存状态时&#xff0c;密密麻麻的Excel表格显然不是最佳选择。这时…...

隐马尔科夫模型(HMM)实战:从天气预测到股票市场分析

1. 隐马尔科夫模型入门&#xff1a;从天气预报说起 第一次听说隐马尔科夫模型(HMM)时&#xff0c;我正盯着手机上的天气预报发呆。为什么明明显示"晴天"&#xff0c;下午却突然下起暴雨&#xff1f;这让我开始思考天气预测背后的数学模型。HMM正是解决这类问题的利器…...

OpCore-Simplify:零代码黑苹果配置终极指南,让硬件适配从复杂到简单的蜕变

OpCore-Simplify&#xff1a;零代码黑苹果配置终极指南&#xff0c;让硬件适配从复杂到简单的蜕变 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 对于…...

Phi-3-vision-128k-instruct创意编程:用JavaScript构建交互式图像故事生成器

Phi-3-vision-128k-instruct创意编程&#xff1a;用JavaScript构建交互式图像故事生成器 1. 引言&#xff1a;当AI创意遇上前端交互 想象这样一个场景&#xff1a;用户上传一张随手拍的照片&#xff0c;通过简单的滑块调整和风格选择&#xff0c;几秒钟后就能获得一个与图片内…...

Nunchaku-FLUX.1-dev副业变现路径:AI绘画接单全流程(接单→提示词→交付)

Nunchaku-FLUX.1-dev副业变现路径&#xff1a;AI绘画接单全流程&#xff08;接单→提示词→交付&#xff09; 1. 从兴趣到收入&#xff1a;为什么选择Nunchaku-FLUX.1-dev做副业 如果你对AI绘画感兴趣&#xff0c;并且拥有一张消费级的显卡&#xff0c;比如RTX 3090或4090&am…...

go logrus和zap各有什么优缺点

Go 生态中两个最流行的结构化日志库对比&#xff1a;Logrus vs Zap 对比 特性 Logrus Zap 性能 较慢&#xff08;反射-based&#xff09; 极快&#xff08;零分配、结构化&#xff09; API 风格 链式调用&#xff0c;类似 Python logging 显式字段&#xff0…...

C++ STL 容器线程安全的边界条件

C STL容器线程安全的边界条件探析 在多线程编程中&#xff0c;C标准模板库&#xff08;STL&#xff09;容器的高效使用一直是开发者关注的焦点。尽管STL容器在设计上并未原生支持线程安全&#xff0c;但其性能优势使得开发者仍需在并发环境中谨慎使用。理解STL容器线程安全的边…...