blog—博客
博客 15blog
数据字典---将要的数据定出来
- banner banner
- id 主键
- title 标题 varchar(32)
- sub_title 副标题 varchar(16)
- src 图片 varchar(60)
- 文章 article
- id 主键
- author 作者 varchar(16)
- avatar 头像 varchar(64)
- title 标题 varchar(32)
- post_time 发布时间 int
- content 内容 text
- like 赞 tinyint
- 用户 user
- uid
- username 用户名 varchar(32)
- password 密码 char(32)
- avatar 头像 varchar(64)
安装相关模块
cnpm i express express-static cookie-parser cookie-session body-parser multer mysql ejs consolidate --save
mysql 链接池
//创建一个mysql的链接池
const db = mysql.createPool({
host:'localhost',
user:'root',
password:'root',
database:'jy1608_blog',
port:8889
})
将操作数据库的操作封装成 15blog/db.js,并使用promise
const mysql = require('mysql');
//创建一个mysql的链接池
const db = mysql.createPool({
host:'localhost',
user:'root',
password:'root',
database:'jy1608_blog',
port:8889
})
//查询方法
let query = function(sql){
return new Promise((resolve,reject)=>{
db.query(sql,(err,data)=>{
if(err){
reject(err);
}else{
resolve(data);
}
});
});
}
module.exports = {
query:query
}
使用 Promise.all() 首页 banner数据和 文章列表数据获取 15blog/server.js
Promise.all([Db.query("SELECT * FROM `blog_banner`;"),Db.query("SELECT title,avatar,content FROM `blog_article`;")]).then((data)=>{
let sendData = {
banners:data[0],
articles:data[1]
}
res.render('index.ejs',sendData);
}).catch((err)=>{
res.status(500).send('数据库错误').end();
})

浙公网安备 33010602011771号