刚忙完公司项目,把以前了解的nodejs实践一下:
把需要的包/模块安装上:
1、安装上nodejs 2、安装npm包---**这个非常重要** 3、安装开发模块: mysql---npm install [-g] node-mysql, npn install [-g] mysql express---npm install [-g] express jade---npm install [-g] jade[模板模块] 其他模块根据需求添加吧!
根据了解的nodejs基础,列出需要注意的几点:
1、模块问题:---模块继承
var Dao = function () {
this.className = "Dao";
var mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',
user: 'wenshuang3',
password: '13746.com',
database: 'cai',
port: 3306
});
this.pool = pool;//连接池
this.insert = function (params) {
}; //插入
this.update = function (params) {
}; //更新
this.delete = function (params) {
}; //删除
this.select = function (params) {
}; //查询
};
module.exports = new Dao();
==================================
var dao = require('./Dao');
var UserDao = function() {
this.className = "UserDao";
};
UserDao.prototype = dao;
module.exports = new UserDao();
2、router回调问题
var express = require('express');
var router = express.Router();
var userService = require("../serv/service/impl/UserServiceImpl");
/* POST home page. */
router.post('/', function (req, res) {
var name = req.body.name;
var age = req.body.age;
var opt = req.body.type.toString();
console.log(name + "==" + age + "---" + opt);
console.log(typeof opt + "---" + typeof "select" + "==" + (opt == "select" ));
var send_data = {
name: name,
age: age,
callback: function (data) {
res.render('userinfo', data);
}
};
if (opt == "insert") {
console.log("insert...");
userService.insert(send_data);
} else if (opt == "update") {
console.log("update...");
userService.update(send_data);
} else if (opt == "delete") {
console.log("delete...");
userService.delete(send_data);
} else if (opt == "select") {
console.log("select...");
userService.select(send_data);
} else {
console.log("no opt...");
}
});
module.exports = router;
================================================
/**
* Created by wenshuang3 on 2014/9/11.
*/
var userDao = require('../UserDao');
var UserDaoImpl = function () {
this.className = "UserDaoImpl";
};
UserDaoImpl.prototype = userDao;
UserDaoImpl.prototype.insert = function (params) {
params = params || {};
var callback = params.callback;
console.log("UserDaoImpl insert...");
var name = params.name, age = params.age;
var selectSQL = 'insert into User(name,age) values("' + name + '",' + age + ')';
var res_obj = {
title: '用户添加',
name: name,
age: age,
result: [],
status: false
};
this.pool.getConnection(function (err, conn) {
if (err) console.log("POOL ==> " + err);
conn.query(selectSQL, function (err, rows) {
if (err) console.log(err);
console.log("INSERT ==> ");
var responseHTML = "";
conn.release();
res_obj.result = rows;
res_obj.status = true;
callback ? callback(res_obj) : "";
});
});
};
UserDaoImpl.prototype.update = function (params) {
console.log("UserDaoImpl update...");
return true;
};
UserDaoImpl.prototype.delete = function (params) {
console.log("UserDaoImpl delete...");
return true;
};
UserDaoImpl.prototype.select = function (params) {
params = params || {};
console.log("UserDaoImpl select...");
var name = params.name, age = params.age;
var callback = params.callback;
var selectSQL = 'select ' + (params.fields ? params.fields : "*") + ' from User' + (params.where ? params.where : "");
console.log("selectSQL===" + selectSQL);
var res_obj = {
title: '用户查询',
name: name,
age: age,
result: [],
status: false
};
this.pool.getConnection(function (err, conn) {
if (err) console.log("POOL ==> " + err);
conn.query(selectSQL, function (err, rows) {
if (err) console.log(err);
console.log("SELECT ==> ");
for (var i in rows) {
console.log(rows[i]);
}
res_obj.result = rows;
res_obj.status = true;
conn.release();
callback ? callback(res_obj) : "";
});
});
};
module.exports = new UserDaoImpl();
暂时研究到这,在这只是基础研究,肯定有待深入,望文明吐槽、交流!
相关推荐
Nodjs中文手册
使用nodjs编写的MQTT客户端,实现模拟连续的数据发送(动态随机数据),默认访问的端口为1883,控制台操作
maven和nodjs免安装包
cent6.5安装nodjs-v5.7.0及运行3个应用前端nodejs开发代码
ignite-nodjs-challenge-2
Nodejs+Angular+Mongodb-Web-Demo(3)
windows系统下安装nodejs详细步骤及配置文档 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。 Node.js 使用高效、轻量级的事件驱动、非阻塞 I/O 模型。它的包生态系统,npm,是目前世界上最大的开源库生态...
项目之文章管理系统nodeJS_mogonDB学习笔记及源码 项目布置及实现过程 nodeJS ->express 及mogonDB
如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。 当然,如果你是后端程序员,想部署一些高性能的服务,那么学习Node.js也是一个非常...
咖啡聊天 使用 Node.js、Socket.IO 和 Dust.js 来组织办公室咖啡冲泡 科技 - 服务器端休息 ... 注意:在 Ubuntu 上你需要输入“nodjs”而不是“node” 跑步 mkdir -p public/js/compiled node app.
node-v10.7.0-x64的安装包,node-v10.7.0-x64.rar,解压安装
Nodejs_practice
本篇文章主要介绍了在Centos部署nodejs的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
聊天室 nodejs;... 2个用户之间的私人聊天离开聊天室显示聊天室的历史记录(最后 10 条消息)。 显示正在写作的用户的姓名#Linux 上的安装和执行安装 NodeJS 和 npm 运行 'sudo npm install -d' 从 package.json 安装你...
下载开箱即用,无需配置可以进行工业物联网前放置开发erlang运行与开发环境git持续集成环境python运行与开发环境nodjs + vue + yark运行与运行环境 linux环境一键式部署脚本部署在工业物联网解决方案的云矩阵,支持...
Node js商店管理应用程序 bellaviapp.com
软件设计师历年真题
数独求解器js 使用回溯算法的简单数独求解器。 最终它将支持所有常规boxsize。安装首先确保已安装nodejs,然后在projects目录中运行以下命令npm install测验npm install mocha -gcd app/solver mocha sudoku_solver_...
在Docker-Compose上练习nginx节点 Docker Compose上的Nginx和Node.js服务器。 $ docker-compose up --build ./nginx/ ./app-1/ (反向代理) ./app-2/ (反向代理) 链接