📅  最后修改于: 2023-12-03 14:47:24.383000             🧑  作者: Mango
本文将介绍如何使用 Sequelize 和 SQLite 数据库进行 Node.js 应用程序开发。Sequelize 是一个使用 Node.js 进行 SQL 映射的 ORM,而 SQLite 是一种轻型的嵌入式数据库管理系统,使用简单、高效。我们将用 Node.js 来访问 SQLite 数据库,并通过 Sequelize 来实现 SQL CRUD 操作。
首先,需要将 Node.js 安装到本地机器上。可以从 Node.js 的官网下载相应的安装包,并按照指导进行安装。安装完成后,可以在命令行中输入 node -v
来验证是否安装成功。
在安装 Sequelize 之前,需要先安装 npm,它是 Node.js 的包管理器。可以在命令行中输入 npm -v
来验证是否已安装。如果没有安装,请按照 npm 的官网指导进行安装。
安装 Sequelize 可以使用以下命令:
npm install --save sequelize
在安装 SQLite 之前,可以先安装 SQLite 的图形化管理工具,如 SQLiteStudio。可以从 SQLiteStudio 的官网下载相应的安装包,并按照指导进行安装。安装完成后,可以打开 SQLiteStudio 并创建一个 SQLite 数据库文件。
安装 SQLite 可以使用以下命令:
npm install --save sqlite3
在代码中使用 Sequelize 需要先进行配置。可以在代码中创建一个配置文件 config.js
,来存储 Sequelize 的配置信息:
const Sequelize = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
dialect: 'sqlite',
storage: './database.sqlite'
});
const db = {};
db.Sequelize = Sequelize;
db.sequelize = sequelize;
module.exports = db;
需要注意的是,storage
参数指定了 SQLite 数据库文件的路径。
在使用 Sequelize 进行 CRUD 操作之前,需要先定义一个模型。可以在代码中创建一个模型文件 model.js
,来存储模型的定义:
const db = require('./config');
const User = db.sequelize.define('user', {
name: {
type: db.Sequelize.STRING,
allowNull: false
},
age: {
type: db.Sequelize.INTEGER
},
email: {
type: db.Sequelize.STRING
}
});
module.exports = {
User
};
上述代码中,我们定义了一个名为 User
的模型,它包含了 name
、age
和 email
三个属性。name
的类型为 STRING
,age
的类型为 INTEGER
,email
的类型为 STRING
。其中,name
属性不允许为空。
可以使用以下代码在数据库中插入一条数据:
const db = require('./config');
const { User } = require('./model');
db.sequelize.sync()
.then(() => {
return User.create({
name: 'John Doe',
age: 25,
email: 'john.doe@example.com'
});
})
.then(user => {
console.log(user.toJSON());
})
.catch(error => {
console.error(error);
});
在以上代码中,我们调用了 User.create
方法来插入一条数据,该方法将返回插入后的数据对象。插入完成后,我们可以通过调用 toJSON
方法来获取对象的 JSON 形式,并将其打印到控制台。
可以使用以下代码查询数据库中的数据:
const db = require('./config');
const { User } = require('./model');
db.sequelize.sync()
.then(() => {
return User.findAll({
attributes: ['name', 'age']
});
})
.then(users => {
console.log(JSON.stringify(users));
})
.catch(error => {
console.error(error);
});
在以上代码中,我们调用了 User.findAll
方法来查询数据库中的数据。attributes
参数指定了查询结果中要包含的属性,这里我们只包含了 name
和 age
两个属性。
可以使用以下代码更新数据库中的数据:
const db = require('./config');
const { User } = require('./model');
db.sequelize.sync()
.then(() => {
return User.update(
{ age: 30 },
{ where: { name: 'John Doe' } }
);
})
.then(() => {
console.log('Update successful');
})
.catch(error => {
console.error(error);
});
在以上代码中,我们调用了 User.update
方法来更新数据库中的数据。第一个参数指定了需要更新的属性,第二个参数指定了更新条件。
可以使用以下代码删除数据库中的数据:
const db = require('./config');
const { User } = require('./model');
db.sequelize.sync()
.then(() => {
return User.destroy({ where: { name: 'John Doe' } });
})
.then(() => {
console.log('Delete successful');
})
.catch(error => {
console.error(error);
});
在以上代码中,我们调用了 User.destroy
方法来删除数据库中的数据。参数指定了删除条件。
通过本文的介绍,我们了解了如何使用 Sequelize 和 SQLite 数据库进行 Node.js 应用程序开发。我们学习了如何创建模型和实现 SQL CRUD 操作,希望对大家有所帮助。