测试数据库查询

简介: 创建model文件夹及weaponSkinModel.js,封装查询所有武器皮肤的功能。通过index.js测试调用,验证数据库连接与查询逻辑,控制台输出正常结果,确保模块功能可用。

新建一个文件夹model,在这个文件夹下新建weaponSkinModel.js文件

// model/weaponSkinModel.js
const { pool } = require('../config/db');

// 👉 第1个功能:查询所有武器
async function getAllWeaponSkins() {
try {
const [rows] = await pool.execute('SELECT * FROM weapon_skins ORDER BY id DESC');
return rows;
} catch (error) {
console.error('❌ 查询所有数据失败:', error.message);
throw error;
}
}

// 只暴露当前开发的功能
module.exports = {
getAllWeaponSkins
};

创建外层index.js文件,开始对上面代码做测试,注意层级,并在index.js文件中,创建测试代码
// index.js
const { testPoolConnection } = require('./config/db');
const weaponSkinModel = require('./model/weaponSkinModel');

// 👉 测试 1:查询所有数据(对应 getAllWeaponSkins 功能)
async function testGetAllWeaponSkins() {
console.log('===== 开始测试:查询所有数据 =====');
try {
// 先测试连接池
await testPoolConnection();
// 调用查询函数
const result = await weaponSkinModel.getAllWeaponSkins();
console.log('查询成功!结果:');
console.log(result.length > 0 ? result : '暂无数据');
} catch (error) {
console.log('查询失败!原因:', error.message);
}
console.log('===== 测试结束:查询所有数据 =====\n');
}

// 👉 执行当前测试(只运行这一个)
testGetAllWeaponSkins();

运行index.js文件,可以看到控制台输出正常

相关文章
|
18小时前
|
SQL 关系型数据库 数据库
SQL
SQL是操作关系型数据库的标准语言,包含DDL(定义数据库、表、字段)、DML(增删改数据)、DQL(查询记录)和DCL(管理用户与权限),统一操控各类数据库。
|
18小时前
|
数据库
数据库案例
新增根据ID扣减库存功能,入参为id和stock。校验参数后执行数据库更新,确保库存为非负整数,更新成功返回结果,失败则抛出错误并记录日志。
|
18小时前
|
数据库
测试数据库修改
新增按ID修改武器皮肤价格功能,支持参数校验与数据库更新,结合测试代码验证逻辑正确,确保数据一致性和操作可靠性。
|
18小时前
|
数据库
测试数据库删除
新增按ID删除武器皮肤功能,支持数据库记录删除与错误处理,并在index.js中添加测试代码,验证删除操作的正确性。
|
18小时前
|
JavaScript 测试技术 数据库
测试数据库新增
在 `weaponSkinModel.js` 中新增 `addWeaponSkin` 方法,实现向数据库插入武器皮肤数据功能,并通过 `index.js` 编写测试函数验证新增与查询,确保数据操作正确。
|
18小时前
|
存储 JavaScript 关系型数据库
nodejs连接mysql
创建config文件夹存放配置,实现解耦。通过.env文件管理数据库连接信息,db.js使用mysql2和dotenv创建连接池并测试连通性,确保应用稳定连接数据库。
|
19小时前
|
JavaScript 关系型数据库 MySQL
Node.js工程搭建
创建名为“weapon”的工程文件夹,初始化项目并生成package.json文件,安装mysql2和dotenv依赖,为连接MySQL数据库做准备。
|
17小时前
盒子模型
`<div>`标签独占一行,宽度默认为父元素宽度,高度由内容决定,可设置宽高;`<span>`标签为行内元素,一行可显示多个,宽高由内容撑开,不可直接设置宽高。
|
17小时前
新闻-正文-段落
通过段落标签(p)可定义文本段落,支持加粗、下划线、倾斜、删除线等文本样式。结合img标签插入图片,丰富页面内容。持续添加多段p与img标签,完善网页结构与视觉呈现。
|
17小时前
新闻-页脚-超链接
通过a标签实现页面跳转:href指定目标地址,target控制打开方式——self在当前页跳转,blank在新窗口打开。简单高效,适用于各类链接场景。