测试数据库新增

简介: 在 `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单元测试,做一下查询,可以看到查到数据了

相关文章
|
8月前
|
存储 缓存 负载均衡
Nacos注册中心
本文详细介绍Nacos的安装部署、服务注册与发现、分级模型、负载均衡策略、权重控制、环境隔离及实例类型等核心功能,涵盖从入门到实战的全流程,助力掌握Nacos在微服务架构中的应用,实现高效服务治理与配置管理。
|
算法 编译器 C++
【C++ 格式化输出 】C++ 高级输出格式化:掌握 iostream 与 iomanip
【C++ 格式化输出 】C++ 高级输出格式化:掌握 iostream 与 iomanip
1372 1
|
7月前
|
缓存 监控 Java
B2Bitem_search - 根据关键词获取商标列表接口对接全攻略:从入门到精通
B2Bitem_search是面向B2B平台、知产机构及企业风控系统的商标批量检索核心接口,支持关键词、尼斯分类、状态等多维筛选,分页排序、字段过滤,数据直连国家知识产权局,实时权威。含全链路对接指南。
Java程序员必学:JVM架构完全解读
Java 虚拟机(JVM)是 Java 编程的核心,深入理解其架构对开发者意义重大。本文详细解读 JVM 架构,涵盖类加载器子系统、运行时数据区等核心组件,剖析类加载机制,包括加载阶段、双亲委派模型等内容。阐述内存管理原理,介绍垃圾回收算法与常见回收器,并结合案例讲解调优策略。还分享 JVM 性能瓶颈识别与调优方法,分析 Java 语言特性对性能的影响,给出数据结构选择、I/O 操作及并发同步处理的优化技巧,同时探讨 JVM 安全模型与错误处理机制,助力开发者提升编程能力与程序性能。
Java程序员必学:JVM架构完全解读
|
12月前
|
监控 NoSQL 安全
《深度解构:构建浏览器端Redis控制台的WebSocket协议核心技术》
本文聚焦前端技术领域,深度解析基于WebSocket协议构建浏览器端Redis控制台的核心逻辑。首先剖析WebSocket全双工通信、轻量数据帧等特性,阐明其解决HTTP单向通信缺陷、适配Redis实时交互需求的价值;接着详解浏览器与Redis间中间适配层的设计,包括协议转换、命令校验等关键环节;随后探讨实时性与可靠性平衡、多层安全防护等技术难点的应对策略,并分析在分布式协作、微服务动态管理等场景的应用价值;最后提及浏览器兼容性与性能优化方案,为Redis Web化管理提供技术路径,展现实时通信技术在前端数据库工具开发中的创新意义。
274 0
|
存储 算法 Java
🧠Java零基础 - Java栈(Stack)详解
【10月更文挑战第17天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
701 2
|
Arthas 前端开发 Java
类加载器 超详解:什么是类加载器,类加载器作用及应用场景,类加载时机,类加载的完整过程,类加载器分类
类加载器 超详解:什么是类加载器,类加载器作用及应用场景,类加载时机,类加载的完整过程,类加载器分类
类加载器 超详解:什么是类加载器,类加载器作用及应用场景,类加载时机,类加载的完整过程,类加载器分类
|
存储 JSON 分布式计算
Hologres的特性
【8月更文挑战第24天】Hologres的特性
570 3
|
开发者
2024 乘风者计划全新启航!快来加入吧!
 2021年,阿里云开发者社区焕新升级,重磅推出“乘风者计划”!诚邀四海技术博主入驻社区,泼墨云间,书写天地。入驻社区,即可享丰厚权益! 新的一年,乘风者计划重磅升级!
252427 81
|
SQL 关系型数据库 MySQL
DataX - 全量数据同步工具(1)
DataX - 全量数据同步工具

热门文章

最新文章