Node.js学习
Posted 임문이
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js学习相关的知识,希望对你有一定的参考价值。
本篇介绍Node.js访问数据库并返回数据给客户端
需求基于Node.js学习(二)
数据库请下载:user.sql
1、创建user 实体类(model-user.js)
function User(id,userName,userPsw){ this.id = id; this.userName = userName; this.userPsw = userPsw; } // getter User.prototype.getUserName = function () { return this.userName; }; User.prototype.getUserPsw = function () { return this.userPsw; }; module.exports = User; // 模块化
2、创建node-sql.js,对user表进行CURD
var mysql = require(\'mysql\'); // 数据库属性 var connection = mySql.createConnection({ host:"localhost", //主机 user:"",// 字符串内写数据库用户名 password:"", //数据库连接密码 database:"", // 数据库名 port:3306 // 端口 }); // 连接 connection.connect(); // 数据库执行语句 var sql; // function CURD(){} //增 CURD.prototype.add = function(obj){ }; // 删 CURD.prototype.del = function(id){ }; // 改 CURD.prototype.update = function(obj){ }; // 查 CURD.prototype.check = function(obj,callback){ sql = "SELECT COUNT(*) FROM `user` AS u where u.userName = ? AND u.userPsw = ?"; console.log(obj.getUserName() + "====" + obj.getUserPsw()); var addParams = [obj.getUserName(),obj.getUserPsw()]; if(obj){ connection.query(sql,addParams, function (error, result) { if(error){ console.log("[SELECT ERROR] - ",error.message); return; } console.log("----------------------------SELECT----------------------------"); console.log(result); console.log(result[0]); console.log(result[0]["COUNT(*)"]); console.log("--------------------------------------------------------------\\n\\n"); callback(result[0]["COUNT(*)"]); }); }else{ // 返回所有对象 } }; module.exports = CURD;
这里提下var mySql = require(\'mysql\'); 加载mysql 模块,安装的node.js 中没有这个模块,需要手动下载,推荐一篇不错的文章,不过请看完再装
3、node-post.js 监听端口
var http = require(\'http\'); var qs = require(\'querystring\'); var url = require(\'url\'); // 获取user模块 var User = require(\'./model-user\'); // 获取CURD模块 var CURD = require(\'./node-sql\'); // 构造 var curd = new CURD(); http.createServer(function (req, res) { var parms = url.parse(req.url,true); var userName = parms.query.userName; var userPsw = parms.query.userPsw; console.log(userName + "<---||--->" + userPsw); //构造 var user = new User(null,userName,userPsw); curd.check(user, function (result) { console.log("回调数据是:" + result); var resData = { msg:result }; res.writeHead(200,{\'Content-type\':\'text/plain;charset=utf-8\'}); res.end(\'callback(\'+JSON.stringify(resData)+\')\'); }); }).listen(8082);
这里注意check()使用了回调 callback,在connection.query()中发起回调,Node.js 大部分方法都是异步回调处理.
前端界面和之前的一样,这里就截图看看吧
如有不足之处请指出,谢谢
以上是关于Node.js学习的主要内容,如果未能解决你的问题,请参考以下文章