express开发api指南--连接数据库

现在主流使用的一般是oracle、mysql和pgsql。此处采用pgsql。具体数据库下载、安装使用过程省略。需要可自行百度。

cnpm install --save pg-promise

在根目录下新建database文件夹,在database文件夹下新建db.js文件。编辑文件内容为:

var pgp = require("pg-promise")();
var db = pgp("postgres://postgres:mesadmin@192.168.x.x:5432/BW_WMS"); //格式为'postgres://username:password@host:port/database'
module.exports = { db };

3.1 测试数据库连接

修改routes下的index.js

//引入定义好的数据库连接
var { db } = require("../database/db");
//简单查询测试
router.get('/', function(req, res, next) {
  var sql = `select * from t_msd_msl_2 where 1=1`; //t_msd_msl_2为我数据库里的表,可以自行建一张表去查询
  db.result(sql)
    .then((result) => {
      res.send(result);
    })
    .catch((error) => {
      res.send(error);
    });
});

刷新页面查看效果。如果数据库连接正常,且表里有数据,则会显示查询返回结果.

{
    "command": "select",
    "rowCount": 13,
    "oid": null,
    "rows": [], //这里才是实际查出来的数据
    ...
    ...
    ...
}

3.2 定义统一返回格式

在根目录下新建util.js。内容如下:

//定义统一接口返回格式
var resultInfo = function (code, data, msg) {
  code = code || 0;
  data = data || [];
  msg = msg || "";
  //这边采用的是首字母大写,具体返回哪种格式可以自定义
  var obj = {
    Code: code,
    Data: data,
    Message: msg,
  };
  return obj;
};

module.exports = { resultInfo };

修改刚刚的index.js

//引入util.js
var { resultInfo } = require("../util");
//修改res.send里的内容
res.send(resultInfo(0, result.rows));

保存完刷新页面,发现这次返回的就像平常对接的接口返回格式了。

3.3 配置跨域

//安装依赖
cnpm install --save cors
//在app.js里引入
var cors = require("cors");
app.use(cors()); //跨域
posted @ 2023-05-24 18:43  火炬冬天  阅读(268)  评论(0)    收藏  举报