下面是详细讲解“nodejs+express最简易的连接数据库的方法”的完整攻略:
步骤1:安装依赖
首先,在项目目录下,运行以下指令安装需要的依赖:
npm install express mysql body-parser
这里,我们使用的是MySQL数据库,如果你使用其他数据库,需要安装对应的依赖。
步骤2:连接数据库
在项目的入口文件(比如app.js或server.js)中,需要进行数据库的连接。以下是一个连接MySQL数据库的例子:
const express = require('express');
const app = express();
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'username',
password: 'password',
database: 'database_name'
});
connection.connect((err) => {
if (err) {
console.error('Database connection failed: ' + err.stack);
return;
}
console.log('Connected to database.');
});
app.listen(3000, () => {
console.log('Server started on port 3000.');
});
在以上代码中,我们使用了mysql模块,并创建了一个数据库连接。在connection.connect()方法中,我们尝试连接数据库,如果连接失败,则会输出错误信息。如果连接成功,则输出“Connected to database.”。
步骤3:查询数据库
在项目中,通常会需要查询数据库的数据并将其返回给前端。以下是一个查询MySQL数据库的例子:
app.get('/users', (req, res) => {
connection.query('SELECT * FROM users', (error, rows, fields) => {
if (error) {
console.error('Error querying database: ' + error.stack);
res.send('Error querying database.');
return;
}
res.send(rows);
});
});
在以上代码中,我们创建了一个路由,当用户访问“/users”时,会查询数据库中的“users”表,并将其返回给前端。在connection.query()方法中,我们传入了SQL语句,并定义了回调函数,当查询成功时,会将查询到的数据(rows)通过res.send()方法返回给前端;当查询失败时,会输出错误信息并返回错误信息给前端。
示例说明
这里,我们以一个简单的服务端渲染网页为例,使用了MySQL数据库,查询了数据库中的全部用户数据,并将其在网页中展示出来。以下是相关的代码:
app.js
const express = require('express');
const app = express();
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'username',
password: 'password',
database: 'database_name'
});
connection.connect((err) => {
if (err) {
console.error('Database connection failed: ' + err.stack);
return;
}
console.log('Connected to database.');
});
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
connection.query('SELECT * FROM users', (error, rows, fields) => {
if (error) {
console.error('Error querying database: ' + error.stack);
res.send('Error querying database.');
return;
}
res.render('index', {users: rows});
});
});
app.listen(3000, () => {
console.log('Server started on port 3000.');
});
index.ejs
<!DOCTYPE html>
<html>
<head>
<title>User List</title>
</head>
<body>
<h1>User List</h1>
<ul>
<% users.forEach(function(user) { %>
<li><%= user.name %></li>
<% }) %>
</ul>
</body>
</html>
在以上代码中,我们使用了EJS模板引擎,当用户访问“/”时,会查询数据库中的“users”表,并将其返回给前端。在成功查询到数据后,我们将数据传递给“index.ejs”模板,并渲染网页。在网页中,我们使用了forEach循环遍历数据,并将其展示为一个无序列表。
希望这个攻略对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs+express最简易的连接数据库的方法 - Python技术站