nodejs后端-工程化实现-Go网上数码商城第二思量-完成访问数据库渲染页面数据
Posted 勇敢*牛牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs后端-工程化实现-Go网上数码商城第二思量-完成访问数据库渲染页面数据相关的知识,希望对你有一定的参考价值。
完成访问数据库渲染页面数据
model.js文件解析
var mysql = require('mysql')
// if(mysql)
// console.log("ok");验证
//
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')
// if(mysql)
// console.log("ok");
//
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);
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)
// 接受到以数组-(数组(不同的查询结果)>对象形式)的数据类型序列
// console.log(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);
)
以上是关于nodejs后端-工程化实现-Go网上数码商城第二思量-完成访问数据库渲染页面数据的主要内容,如果未能解决你的问题,请参考以下文章