zoukankan      html  css  js  c++  java
  • Express框架使用以及数据库公共操作类整理(Win7下的NodeJs)

    具体步骤:

    1、安装开发工具WebStorm;

    2、安装node/npm(下载地址:https://nodejs.org/download/)选择适合你的xxx.mis安装;

    3、安装express框架(cmd窗口模式,用npm命令执行:npm install express);

    4、创建nodeJsExpress项目,使用ejs模板;

    5、下载node-mssql连接数据库驱动(进入指定的目录用npm命令执行:npm install node-mssql);

    6、拷贝node-mssql文件夹到express项目的node-modules目录;

    7、使用dbHelper工具类,进行数据查询,以及EJS页面数据展示;

    dbHelper代码如下:

    /**
    * Created by Administrator on 2015/9/14.
    */
    var node_mssql = require('node-mssql');

    /* add configuration to query object */
    var host = '192.168.20.135',
    port = 1433,
    username = 'sa',
    password = 'sa',
    db = 'GG_ChatDB';

    var queryObj = new node_mssql.Query({
    host: host,
    port: port,
    username: username,
    password: password,
    db: db
    });

    var initDbHelper = function (host, port, username, password, db) {
    queryObj = new node_mssql.Query({
    host: host,
    port: port,
    username: username,
    password: password,
    db: db
    });
    }

    var defaultConfig = function () {
    queryObj = new node_mssql.Query({
    host: host,
    port: port,
    username: username,
    password: password,
    db: db
    });
    }

    var insert = function (data, insertTable, callback, res) {
    queryObj.table(insertTable);
    queryObj.data(data);
    queryObj.insert(function (results) {
    //success
    callback(res, "添加成功!", results);
    }, function (err, sql) {
    if (err) {//error
    callback(res, "添加失败!", err);
    console.log(err);
    }
    });
    defaultConfig();
    };

    var list = function (whereSql,orderList, table, callback, res) {
    queryObj.table(table);
    queryObj.where(whereSql);
    queryObj.order(orderList); // ['id desc',...]
    queryObj.select(function (data) {
    //success
    callback(res, "查询成功!", data);
    }, function (err, sql) {
    if (err) { //error
    callback(res, "查询失败!", err);
    console.log(err);
    }
    });
    defaultConfig();
    };

    var update = function (data, option, upTable, callback, res) {
    queryObj.table(upTable);
    queryObj.data(data);
    queryObj.where(option);
    queryObj.update(function (results) {
    // success callback
    callback(res, "修改成功!", results);
    }, function (err, sql) {
    if (err) {
    callback(res, "修改失败!", err);
    console.log(err);
    }
    });
    defaultConfig();
    };

    //参数说明:@delsql删除sql条件,举例 delsql="id=1"
    var deleteById = function (delsql, table, callback, res) {
    queryObj.query("delete from " + table + " where " + delsql,
    function (delres) {
    callback(res, "删除成功!", delres);
    },
    function (err, sql) {
    if (err) {
    callback(res, "删除失败!", err);
    }
    }
    );
    defaultConfig();
    };

    var queryBySql = function (sql, callback, res) {
    queryObj.query(sql, function (delres) {
    callback(res, "执行成功!", delres);
    },
    function (err, sql) {
    if (err) {
    callback(res, "执行失败!", err);
    }
    }
    );
    defaultConfig();
    }

    exports.insert = insert;
    exports.list = list;
    exports.update = update;
    exports.deleteById = deleteById;
    exports.initDbHelper = initDbHelper;
    exports.queryBySql = queryBySql;

    要使用dbHelper,在list页面中进行展现,首先配置app.js,设置Action过滤,代码如图:

    这样配置之后,访问地址:http://xxxx/list就分发到list.js的控制器了,然后在list.js进行处理代码,list.ejs进行便签展现,

    list.js代码如下:

    var express = require('express');
    var dbHelper = require('./dbHelper.js');
    
    var router = express.Router();
    
    
    /* GET home page. */
    router.get('/', function (req, res, next) {
        dbHelper.list({}, 'dbo.table1', callback, res); 
        // list参数,第一个是whereSql查询条件,json格式;第二个是表名,第三个是回调函数,第四个是express返回客户端的response类
    });
    
    var callback = function (data, res) {
        res.render('list', {listData: data});
        // 第一个参数:模板名称对应list.ejs,第二个是参数名和数据
    };
    
    module.exports = router;

    list.ejs代码如下:

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <link rel='stylesheet' href='/stylesheets/style.css'/>
    </head>
    <body>
    
    <ul>
        <% for(var i = 0; i < listData.length; i++) { %>
        <li><%= listData[i].Id %> : <%= listData[i].Name %></li>
        <% } %>
    </ul>
    
    </body>
    </html>

    执行结果如图:

    Express可调用mssql驱动进行数据库操作,更为好用和接近原生态,博客地址:http://www.cnblogs.com/stone_w/p/4815887.html

  • 相关阅读:
    20100720 14:14 转:BW十日谈之标准数据源
    BW会计年度期间转换出错
    SQL Server 2005 Logon Triggers 详细介绍
    作业输出文档维护
    windows 系统监视器 以及建议阀值
    linkedserver 的使用
    DAC 连接数据库需要做些什么
    SQL Server 2008新特性 Merge 详细见联机手册
    【20110406】提高数据库可用性需要注意的问题
    索引迁移
  • 原文地址:https://www.cnblogs.com/vipstone/p/4748533.html
Copyright © 2011-2022 走看看