node.js+express+mysql实现博客系统代码
时间: 2023-08-06 19:03:31 浏览: 87
这里提供一个使用 Node.js + Express + MySQL 实现博客系统的示例代码。需要注意的是,这只是一个简单的示例,实际应用中需要根据具体需求进行修改和完善。
app.js:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const mysql = require('mysql');
const app = express();
const port = 3000;
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// 创建数据库连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'blog'
});
// 连接数据库
connection.connect((err) => {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
// 引入路由
const blogRouter = require('./routes/blog');
app.use('/api/blog', blogRouter(connection));
app.listen(port, () => {
console.log(`App listening at http://localhost:${port}`)
});
```
routes/blog.js:
```javascript
const express = require('express');
const router = express.Router();
module.exports = (connection) => {
// 获取所有博客列表
router.get('/', (req, res) => {
const sql = 'SELECT * FROM blog';
connection.query(sql, (err, results) => {
if (err) throw err;
res.send(results);
});
});
// 获取指定博客
router.get('/:id', (req, res) => {
const id = req.params.id;
const sql = `SELECT * FROM blog WHERE id = ${id}`;
connection.query(sql, (err, results) => {
if (err) throw err;
res.send(results[0]);
});
});
// 新增博客
router.post('/', (req, res) => {
const { title, content } = req.body;
const sql = `INSERT INTO blog (title, content) VALUES ("${title}", "${content}")`;
connection.query(sql, (err, results) => {
if (err) throw err;
res.send(`新增博客:${title}, ${content}`);
});
});
// 修改指定博客
router.put('/:id', (req, res) => {
const id = req.params.id;
const { title, content } = req.body;
const sql = `UPDATE blog SET title="${title}", content="${content}" WHERE id=${id}`;
connection.query(sql, (err, results) => {
if (err) throw err;
res.send(`修改博客${id}:${title}, ${content}`);
});
});
// 删除指定博客
router.delete('/:id', (req, res) => {
const id = req.params.id;
const sql = `DELETE FROM blog WHERE id=${id}`;
connection.query(sql, (err, results) => {
if (err) throw err;
res.send(`删除博客${id}`);
});
});
return router;
};
```
以上代码实现了一个基本的博客系统,使用了 MySQL 数据库存储博客信息。可以根据实际需求进行修改和完善。需要注意的是,这里的示例代码没有进行参数验证和 SQL 注入防御等安全性方面的处理,实际应用中需要加强安全性方面的处理。
阅读全文