完成访问数据库渲染页面数据
model.js文件解析
var mysql = require('mysql')
var config = require('./config');
var pool = mysql.createPool({
connectionLimit:100,
multipleStatements:true,
host:config.host,
user:config.user,
password:config.password,
database:config.database
})
console.log(pool);输出为一个对象
一个对象里面包括了我们需要的一些具体信息。 这就是部分键值对,信息显示…… 然后对,这个数据库进行语句访问:
var mysql = require('mysql')
var config = require('./config');
var pool = mysql.createPool({
connectionLimit:100,
multipleStatements:true,
host:config.host,
user:config.user,
password:config.password,
database:config.database
})
module.exports.findProduct = function(callback){
pool.getConnection(function(err,conn){
if(err){
return callback('连接池连接失败!'+err,null)
}
var sql = `
SELECT * FROM go_product WHERE p_type='ad-product-computer' LIMIT 4;
SELECT * FROM go_product WHERE p_type='ad-product-phone' LIMIT 4;
SELECT * FROM go_product WHERE p_type='ad-product-pad' LIMIT 4;
SELECT * FROM go_product WHERE p_type='ad-product-ear' LIMIT 4;
SELECT * FROM go_product;
`
conn.query(sql,function(err,results){
conn.release();
if(err){
return callback('查询失败'+err,null)
}
callback(null,results)
})
})
}
dule.exports.findProduct 这个模块导出的信息是根据sql的语句查询,返回以数组-(数组-对象)的形式返回一个数据(结构化)
conn.query(sql,function(err,results){
conn.release();
if(err){
return callback('查询失败'+err,null)
}
callback(null,results)
})
通过函数回调返回查询成功的数据库数据信息(回调给路由处理)
model.findProduct(function(err,results){
console.log(results);
})
这样就会收到数据库的信息以及数值。 接着进行数据渲染:(替换)
model.findProduct(function(err,results){
var compiled = _.template(data.toString());
var htmlStr = compiled({
computerList:results[0],
phoneList:results[1],
padList:results[2],
earphoneList:results[3],
productList:results[4],
})
res.setHeader('Content-Type','text/html;charset=utf-8');
res.end(htmlStr);
})
|