Node基础
# Node基础
# 1. 创建 Node 基础环境
# 1.1 创建 server 文件夹
创建 server 文件夹,在文件夹内打开终端
# 1.2 初始化node项目
npm init -y // 初始化node依赖
1
# 1.3 安装依赖
npm i cors // 跨域库
npm i express // express服务库
1
2
2
# 1.4 创建 app.js
const express = require('express');
const app = express();
const cors = require('cors');
app.use(cors());
app.get('/test', (req, res) => {});
app.listen(8081, () => {
console.log('服务启动在:http://127.0.0.1:8081');
});
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
创建完之后,在根路径下执行 node app.js 运行是否正常
# 2. 配置Sequelize框架
# 2.1 安装依赖
npm i sequelize@6.24.0 // sequelize
npm i mysql2@2.3.3 // mysql数据库安装驱动程序
1
2
2
# 2.3 配置
# 2.3.1 根路径下创建 config/sequelize.js
config/sequelize.js
# 2.3.2 链接数据库
config/sequelize.js
const { Sequelize } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'xxx',
dialect: 'mysql'
});
database // 数据库名字
username // 用户名
password // 密码
host // 数据库运行的服务器ip地址
dialect // 数据库类型
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 2.3.3 测试连接
config/sequelize.js
const { Sequelize } = require('sequelize');
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'xxx',
dialect: 'mysql'
});
(async function () {
try {
await sequelize.authenticate();
console.log('数据库链接成功'); } catch (error) {
console.error('数据库链接失败:', error); }
})()
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
根路径下执行 node config/sequelize.js 如果连接成功就是正常
# 3. 数据库模型
# 3.1 创建模型
models/Account.js
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = require('../config/sequelize.js');
const Account = sequelize.define(
'Account',
{
// 定义模型属性、数据库的字段
id: {
autoIncrement: true,
type: DataTypes.BIGINT,
allowNull: false,
primaryKey: true
},
username: {
type: DataTypes.STRING(255),
allowNull: true,
comment: '名字'
},
age: {
type: DataTypes.BIGINT,
allowNull: true,
comment: '年龄'
},
hobby: {
type: DataTypes.STRING(255),
allowNull: true,
comment: '爱好'
},
gmt_create: {
type: DataTypes.DATE,
allowNull: true,
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
comment: '创建时间'
},
gmt_modified: {
type: DataTypes.DATE,
allowNull: true,
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP')
}
},
{
// 定义其他参数类型
tableName: 'account',
timestamps: false // 禁用自动创建时间戳字段
}
);
(async () => {
await Account.sync({ alter: true });
console.log('成功同步:Account');
})();
module.exports = Account;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 3.2 模型同步
Account.sync() // 如果表不存在,则创建该表,否则,不执行任何操作
Account.sync({ force: true }) // 将创建表,如果表已经存在,则将其首先删除
Account.sync({ alter: true }) // 这将检查数据库中表的数据,然后在表中进行必要的更改以使其与模型匹配
1
2
3
2
3
# 3.3 简单的INSERT操作
const express = require('express');
const app = express();
const cors = require('cors');
const Account = require('./models/Account')
app.use(cors());
app.get('/account', async (req, res) => {
const dbRes = await Account.create({ username: '老六',age:30,hobby:'发呆' })
res.send('插入成功') });
});
app.listen(8081, () => {
console.log('服务启动在:http://127.0.0.1:8081');
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
编辑 (opens new window)
上次更新: 2024/07/24, 05:44:37