测试数据库新增

简介: 在 `weaponSkinModel.js` 中新增 `addWeaponSkin` 方法,实现向数据库插入武器皮肤数据功能,并通过 `index.js` 编写测试函数验证新增与查询,确保数据操作正确。

在weaponSkinModel.js文件中,增加新增数据的js代码

// model/weaponSkinModel.js(新增)
// 👉 第2个功能:新增单条数据
async function addWeaponSkin(weaponSkin) {
const { name, baseWeapon, skinName, price, appearance, category, stock } = weaponSkin;
try {
const [result] = await pool.execute(
INSERT INTO weapon_skins (name, baseWeapon, skinName, price, appearance, category, stock) VALUES (?, ?, ?, ?, ?, ?, ?),
[name, baseWeapon, skinName || '', price, appearance || '未知', category || '武器皮肤', stock || 0]
);
return {
success: true,
insertId: result.insertId,
message: '新增成功'
};
} catch (error) {
console.error('❌ 新增数据失败:', error.message);
throw error;
}
}

// 更新暴露(添加新功能)
module.exports = {
getAllWeaponSkins,
addWeaponSkin // 新增
};

接下来我们就可以在index.js文件中测试一下了

// index.js(新增测试函数)
// 👉 测试 2:新增单条数据(对应 addWeaponSkin 功能)
async function testAddWeaponSkin() {
console.log('===== 开始测试:新增单条数据 =====');
// 测试用数据
const testData = {
name: 'AK-47 | 火神 (崭新出厂)',
baseWeapon: 'AK-47',
skinName: '火神',
price: 1599.99,
appearance: '崭新出厂',
category: '武器皮肤',
stock: 8
};
try {
await testPoolConnection();
const result = await weaponSkinModel.addWeaponSkin(testData);
console.log('新增成功!结果:', result);
// 额外验证:查询刚新增的数据
const newData = await weaponSkinModel.getWeaponSkinById(result.insertId);
console.log('验证新增数据:', newData);
} catch (error) {
console.log('新增失败!原因:', error.message);
}
console.log('===== 测试结束:新增单条数据 =====\n');
}

// 👉 执行当前测试(注释掉之前的,只运行这一个)
// testGetAllWeaponSkins();
testAddWeaponSkin();

控制台打印输出正常,此时,我们放开index.js里面的testGetAllWeaponSkins单元测试,做一下查询,可以看到查到数据了

相关文章
|
2月前
|
人工智能 自然语言处理 Java
Spring AI Alibaba实战:从0到1构建企业级智能应用
本文介绍了基于SpringAI Alibaba框架开发AI原生应用的实战指南。文章首先分析了SpringAI Alibaba作为SpringAI本土化版本的核心优势,包括深度适配阿里云生态、中文语境优化等特性。随后详细讲解了开发环境的搭建过程,包括JDK17、SpringBoot3.2.2等技术栈的配置。通过三个实战案例展示了核心功能实现:基础文本生成、结合MyBatisPlus的智能问答系统、以及流式响应和函数调用等高级特性。
1686 6
|
3月前
|
存储 缓存 负载均衡
Nacos注册中心
本文详细介绍Nacos的安装部署、服务注册与发现、分级模型、负载均衡策略、权重控制、环境隔离及实例类型等核心功能,涵盖从入门到实战的全流程,助力掌握Nacos在微服务架构中的应用,实现高效服务治理与配置管理。
|
3月前
|
Java Nacos Maven
Eureka服务注册与发现
本章介绍Eureka服务注册中心的搭建与使用,完成user-service和order-service的服务注册,实现多实例部署。虽Eureka已被SpringCloud逐步淘汰,但其核心思想仍具参考价值,后续将用Nacos替代并深入探讨。
|
3月前
|
自然语言处理 搜索推荐 Java
ES分布式搜索引擎入门
本课程学习Elasticsearch核心技能:掌握倒排索引原理,理解IK分词器及其词典扩展,熟练使用Java Client实现文档增删改查、批量导入及Term查询、全文检索、布尔查询等操作,并实现排序、分页与高亮功能。
|
3月前
|
Java 数据库 Sentinel
服务保护、分布式事务
本课程系统讲解微服务保护与分布式事务控制,涵盖雪崩问题、熔断降级、限流隔离等核心机制,基于Sentinel实现服务防护,并结合Seata完成分布式事务管理,掌握AT、XA等模式原理与应用。
|
3月前
|
负载均衡 算法 架构师
Ribbon负载均衡
本节深入讲解Ribbon实现客户端负载均衡的原理,解析@LoadBalanced注解的作用机制,剖析其通过拦截器、服务选取、URL重构实现负载均衡的全流程,并介绍自定义策略与饥饿加载优化方法,帮助读者全面掌握Ribbon核心知识。(238字)
|
6月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
5297 2
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
|
10月前
|
存储 监控 算法
Java程序员必学:JVM架构完全解读
Java 虚拟机(JVM)是 Java 编程的核心,深入理解其架构对开发者意义重大。本文详细解读 JVM 架构,涵盖类加载器子系统、运行时数据区等核心组件,剖析类加载机制,包括加载阶段、双亲委派模型等内容。阐述内存管理原理,介绍垃圾回收算法与常见回收器,并结合案例讲解调优策略。还分享 JVM 性能瓶颈识别与调优方法,分析 Java 语言特性对性能的影响,给出数据结构选择、I/O 操作及并发同步处理的优化技巧,同时探讨 JVM 安全模型与错误处理机制,助力开发者提升编程能力与程序性能。
Java程序员必学:JVM架构完全解读
|
存储 算法 Java
🧠Java零基础 - Java栈(Stack)详解
【10月更文挑战第17天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
525 2