From 89c4ebddfa29e066a0aee696eae36eb2b1e4eac8 Mon Sep 17 00:00:00 2001 From: kubbo <390378816@qq.com> Date: Thu, 24 Apr 2025 11:02:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(server):=20=E6=B7=BB=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E9=85=8D=E7=BD=AE=E5=92=8C=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 db.config.ts 文件,包含 cdk 和 game 数据库的配置信息 - 新增 db.util.ts 文件,实现数据库连接池和查询功能 --- server/src/config/db.config.ts | 17 +++++++++++++++++ server/src/utils/db.util.ts | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 server/src/config/db.config.ts create mode 100644 server/src/utils/db.util.ts diff --git a/server/src/config/db.config.ts b/server/src/config/db.config.ts new file mode 100644 index 0000000..811c19d --- /dev/null +++ b/server/src/config/db.config.ts @@ -0,0 +1,17 @@ +export const cdkDbConfig = { + host: '192.168.25.110', // MySQL服务器地址 + user: 'root', // 数据库用户名 + password: 'mysql_tr2Few', // 数据库密码 + database: 'cdk', // 数据库名称 + port: 23306, // MySQL端口号 + connectionLimit: 10 // 连接池大小 +}; + +export const gameDbConfig = { + host: '192.168.25.110', // MySQL服务器地址 + user: 'root', // 数据库用户名 + password: 'mysql_tr2Few', // 数据库密码 + database: 'tafang_game_zjy', // 数据库名称 + port: 23306, // MySQL端口号 + connectionLimit: 10 // 连接池大小 +}; \ No newline at end of file diff --git a/server/src/utils/db.util.ts b/server/src/utils/db.util.ts new file mode 100644 index 0000000..68cc070 --- /dev/null +++ b/server/src/utils/db.util.ts @@ -0,0 +1,33 @@ +import mysql from 'mysql'; +import { dbConfig } from '../config/db.config'; + +// 创建连接池 +const pool = mysql.createPool(dbConfig); + +// 获取数据库连接 +export const getConnection = (): Promise => { + return new Promise((resolve, reject) => { + pool.getConnection((err, connection) => { + if (err) { + reject(err); + } else { + resolve(connection); + } + }); + }); +}; + +// 执行查询 +export const query = async (sql: string, values?: any[]): Promise => { + const connection = await getConnection(); + return new Promise((resolve, reject) => { + connection.query(sql, values, (err, results) => { + connection.release(); // 释放连接 + if (err) { + reject(err); + } else { + resolve(results); + } + }); + }); +}; \ No newline at end of file