angular 结合 nodejs连接数据库在webstorm服务器中启动

首先nodejs 三个重要的层       Dao持久层(数据层)  service服务层(业务层)  router表现层(路由)

Dao持久层(数据层) :
         mysql的配置 回调服务层的函数

database.js 这里主要是配置mysql参数
  配置过后不用再改变  可以固定不变
var mysql  = require('mysql');
function getConAPI(){
    var con = mysql.createConnection({
        host:'127.0.0.1',
        user:'root',
        password:'123456',
        database:'backstage'
    });

    return con;
}
function query(sql,param,func){
    var con = getConAPI();
    if(!func){
        func = param;
        param = [];
    }
    con.query(sql,param,function(e,r){
        if(e){
            console.log("����������"+e);
        }else{
            func(r);
        }
        con.end();
    });
}

function queryByPage(curpage,eachpage,sql,param,func){
    var con = getConAPI();
    if(!curpage || curpage <= 0){
        curpage = 1;
    }
    if(!func){
        func = param;
        param = [];
    }
    con.query("select count(*) cnt from ("+sql+") t",param,function(e,r){

        var count = r[0].cnt;
        var maxpage = Math.ceil(count/eachpage);
        sql += " limit "+((curpage-1)*eachpage)+","+eachpage;
        var inner_con = getConAPI();
        inner_con.query(sql,param,function(e,r){


            var page = {"curpage":curpage,"maxpage":maxpage,"eachpage":eachpage};
            if(e){
                console.log("����������"+e);
            }else{
                page.data = r;
                func(page);
            }

            inner_con.end();

        });
        con.end();

    });

}
exports.getCon = getConAPI;
exports.query = query;
exports.queryByPage = queryByPage;
dao ---
userDao.js
这里主要是运用mysql语句 对数据的增删查改
/**
 * Created by HeSir on 2016/3/23.
 */
var database = require("./database");

//登录

exports.findeByUserNameAndPwd = function(ary,fun){
    database.query("select * from user where username=? and password=?",ary,fun);
    console.log("查询用户名和密码");
    console.log(ary);
};

service----


服务层   这里主要是连接数据层和表现层的   1.校验规则2.回调持久层
/**
 * Created by HeSir on 2016/3/23.
 */
var userDao = require("../dao/userDao");

//登录 ----login
exports.login = function(ary,fun){
    userDao.findeByUserNameAndPwd(ary,fun);
};

router---


管理路径 获取数据  请求(req)和响应(res)

利用ajax提交和获取


/**
 * Created by HeSir on 2016/3/23.
 */
var express = require('express');
var router = express.Router();
var userService = require("../service/userService");



//get users listing

router.get('/',function(req,res,next){
    res.send('respond width a resource');
});

//登录------login
router.post("/login",function(req,res){
    var ary = [req.body.username,req.body.password];
    userService.login(ary,function(i){
        if(i.length > 0){
            req.session.user = i[0];
        }
        res.send(i);
    });
});


module.exports = router;
app.js
里面配置好路由

var userRoute = require('./routes/UserRoute');
app.use('/users', userRoute);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值