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网上数码商城第二思量-完成访问数据库渲染页面数据的主要内容,如果未能解决你的问题,请参考以下文章

java web 网上零食商城后端代码

2021年最后几天,使用SSM实现网上购物商城系统

后端go前端vue连接websocket失败failed

乐优商城2 —— 商品分类

怎么使用nodejs做前端.java做后端 搭建web工程

使用 NodeJS 后端推送通知