首先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);

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

  1. nodejs应用在linux服务器中的部署

    1.(可选)添加用户: addgroup wmui添加用户组 useradd -d /home/wmui -s /bin/bash -m wmui创建wmui用户 passwd wmui设置密码,如果 ...

  2. 乌班图服务器账号密码忘了,如何在Ubuntu 20.04 LTS服务器中重置Sudo密码

    本文简单介绍了如何在Ubuntu 20.04 LTS服务器版中重置sudo密码.第一次安装Ubuntu时,会创建一个新的sudo用户来执行各种管理任务.如果您有多个sudo用户,您可以从另一个sudo ...

  3. weblogic8.1在myeclipse中启动正常,在单独的weblogic中无法正常启动的解决方案.

    应用程序服务器weblogic8.1.5,项目在myeclipse中启动正常,在单独的服务器中启动就报错了.错误如下图: 经过观察,发现在myeclipse中设置了以下的jar包.估计是这个问题引起的 ...

  4. 云服务器上的项目无法连接数据库,云服务器中项目连接数据库

    云服务器中项目连接数据库 内容精选 换一换 为了保障数据库的安全性和稳定性,在使用文档数据库实例之前,您需要开通需访问数据库的IP地址和端口.本文将主要介绍设置安全组的操作步骤.安全组的默认规则是在出 ...

  5. 将报表模板中数据集的数据源名称与服务器中的数据源名称修改一致.,连接数据库,服务器端的几个常见错误...

    1错误关键字:数据集ds1中未设定数据源名称 现象: 产生数据工厂:com.runqian report4.dataset.SQLDataSetFactory 失败:数据集中,数据集ds1 中未设定数 ...

  6. 如何在服务器中找到数据库文件夹,如何在服务器中找到数据库文件

    如何在服务器中找到数据库文件 内容精选 换一换 本手册基于华为云关系型数据库实践所编写,用于指导您完成相关设置,购买更符合业务的数据库实例. 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用 ...

  7. 有数据库文件怎么连接到服务器,怎么连接到服务器中的数据库

    怎么连接到服务器中的数据库 内容精选 换一换 遇到该问题,参考以下步骤排查解决.如果在,执行2.如果不在,需要重新创建弹性云服务器实例,使之和云数据库RDS实例在同一个虚拟私有云下.如果有,检查安全组 ...

  8. 爬取京东笔记本电脑销量榜每件商品详情页url,并存入云服务器中的mysql库

    文章目录 一.目的分析 二.爬取页面商品所有详情页链接 1.爬取href链接 2.将数据存入数据库 完整代码: 三.多线程优化版已完成 (多线程优化)爬取京东笔记本电脑销量榜data-sku(商品id ...

  9. 流放之路+连接服务器+未响应,流放之路链接服务器中就未响应

    流放之路链接服务器中就未响应 内容精选 换一换 使用configure命令配置构建.它定义了系统的各个方面,包括允许nginx用于连接处理的方法.最后,它会创建一个Makefile.该configur ...

最新文章

  1. Linux09-网络配置
  2. (2.10)备份与还原--利用T-SQL进行备份还原
  3. div 设置 hover时边框颜色_CSS 奇思妙想边框动画
  4. 【Python基础】Python 炫技操作:推导式的五种写法
  5. 打破“单点防护”缺陷,山石网科发布“云网端”XDR解决方案
  6. hdu 3062 Party(2-sat,3级)
  7. 吴恩达ex3_吴恩达Machine Learning Ex3 python实现
  8. 调用百度音频,文字转音频
  9. C#中如何截取Windows消息来触发自定义事件
  10. 在操作系统中进程是如何通信的
  11. 思维导图:亿图的部分使用方法
  12. C语言实现银行管理系统
  13. 利用Python制作属于自己的炫酷二维码
  14. 现货黄金宝典——如何做突破行情
  15. 一站式:虚拟机安装Linux系统(CentOS_7),多节点Linux环境打造,XShell的使用
  16. IntelliJ IDEA的下载安装与破解
  17. (心得三)java俄罗斯方块小游戏编写心得
  18. Qt编写可视化大屏电子看板系统10-改造QCustomPlot
  19. 什么是指针压缩?如何开启和关闭指针压缩?为什么要进行指针压缩?有哪些注意的地方?
  20. oracle账号共享

热门文章

  1. 如何认识网络变压器芯片引脚图及网络变压器外围BOB-SMITH电路
  2. QT-横向滚动显示字体
  3. Git教程之Github,狐妖小红娘向,超易理解(六)——(Part3)邀请涂山苏苏加入涂山集团
  4. Java千百问_01基本概念(012)_Socket是什么
  5. 树莓派为连接不同Wifi分配固定IP的方法
  6. 坑爹的jack-server
  7. 2021-07-24 JavaScript 常用内置函数之绝对值和三个取整方法的使用
  8. 怎样恢复已删除的QQ聊天记录(远程)
  9. python AES CFB-128加密
  10. react+propTypes