在不使用Sequelize的情况下,你可以使用Node.js的原生mysql
模块或者其他的MySQL客户端库来定义模型。以下是一个使用mysql
模块的基本示例:
首先,你需要安装mysql
模块:
npm install mysql
接下来,你可以创建一个模型文件,比如User.js
,并定义模型的基本操作:
const mysql = require('mysql');
// 创建数据库连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
// 连接数据库
connection.connect();
class User {
constructor(data) {
this.id = data.id;
this.name = data.name;
this.email = data.email;
}
// 创建用户
static create(userData, result) {
const sql = 'INSERT INTO users SET ?';
connection.query(sql, userData, (err, res) => {
if (err) return result(err, null);
result(null, { id: res.insertId, ...userData });
});
}
// 获取用户
static get(userId, result) {
const sql = 'SELECT * FROM users WHERE id = ?';
connection.query(sql, [userId], (err, res) => {
if (err) return result(err, null);
result(null, res[0] ? new User(res[0]) : null);
});
}
// 更新用户
static update(userId, userData, result) {
const sql = 'UPDATE users SET ? WHERE id = ?';
connection.query(sql, [userData, userId], (err, res) => {
if (err) return result(err, null);
result(null, { id: userId, ...userData });
});
}
// 删除用户
static delete(userId, result) {
const sql = 'DELETE FROM users WHERE id = ?';
connection.query(sql, [userId], (err, res) => {
if (err) return result(err, null);
result(null, res.affectedRows > 0);
});
}
}
module.exports = User;
在你的应用中使用这个模型:
const User = require('./User');
// 创建用户
User.create({ name: 'John Doe', email: 'john.doe@example.com' }, (err, user) => {
if (err) throw err;
console.log(user);
// 获取用户
User.get(user.id, (err, user) => {
if (err) throw err;
console.log(user);
// 更新用户
user.name = 'Jane Doe';
User.update(user.id, user, (err, user) => {
if (err) throw err;
console.log(user);
// 删除用户
User.delete(user.id, (err, result) => {
if (err) throw err;
console.log(result);
});
});
});
});
通过这种方式,你可以在不使用Sequelize的情况下,直接使用MySQL数据库,并定义出模型来进行CRUD操作。
领取专属 10元无门槛券
手把手带您无忧上云