nodejs系列: 综合练习实例 UserService.js javascript
发布时间:2019-01-28 16:48:32 作者:本站编辑 来源:本站原创 浏览次数:
www.javainfo.com.cn 上干货 欢迎收藏
如有疑问 请留言 欢迎提供建议
这个是用户管理模块业务处理模块 这里封装了用户管理中的所有接口 业务处理接口
//引入DAO数据库的连接 var DbConnection = require('../utils/DbConnection'); //引入模型数据 var UserModel = require('../models/UserModel') //定义用户管理模块业务层 function UserService() { } //处理删除事件 返回修改的条数 UserService.doEdit = function(id,name,age,callback){ var con = DbConnection.getDefaultConnection(); var sql = "update nodeusers set name = ? , age = ? where id = ? "; console.log(sql); // con.query('UPDATE users SET foo = ?, bar = ?, baz = ? WHERE id = ?', // ['a', 'b', 'c', userId], function (error, results, fields) { // if (error) throw error; // // ... // }); con.query(sql,[name,age,id],function (err,result) { if(err) throw err; console.log('update user 数量为 '+ result.changedRows +" 条 "); callback(result.changedRows); }) console.log('execute ok '); } //处理查看事件 UserService.doView = function(id,callback){ var con = DbConnection.getDefaultConnection(); var sql = "select *from nodeusers where id = ? "; console.log(sql); con.query(sql,[id],function (error, results, fields) { if(error) throw error; console.log('select user result '+ results); console.log('select user fields '+ fields); if(results.length > 0){ var userTemp = new UserModel(results[0].Id,results[0].name,results[0].age,results[0].flag); console.log('execute ok '); callback(userTemp); } else{ console.log('execute null '); callback(null); } }) } //处理删除事件 UserService.doDelete = function(id,callback){ var con = DbConnection.getDefaultConnection(); var sql = "update nodeusers set flag = 1 where id = ? "; console.log(sql); con.query(sql,[id],function (err,result) { if(err) throw err; console.log('delete user result '+ result); callback('ok'); }) console.log('execute ok '); } //查找用户列表信息 数据库连接采用 隐式连接方式 UserService.findUserList = function (pname,page,limit,callback) { // 得到连接对象 console.log('findUserList enter 1 and get dbConnection ') var con = DbConnection.getDefaultConnection(); //连接到数据库 console.log('findUserList getConn OK 2 ') //声明存放用户信息的列表 var userArray = new Array(); //记录总数 记录器 var sumObjNums = 0; console.log(' findUserList start query db datas 3 ') //第一步 获取某页的数据 var sql = "SELECT * from nodeusers where flag = 0 limit "+limit+" offset " + limit * (page - 1); con.query(sql, function(err, rows, fields) { if (err) throw err; console.log('findUserList querydb result process start 4 '); if(rows.length > 0){ for(var i=0; i<rows.length; i++){ var userTemp = new UserModel(rows[i].Id,rows[i].name,rows[i].age,rows[i].flag); userArray.push(userTemp); console.log('findUserList data processing .. 5 ') } console.log('findUserList datas process ok ; to callback fun to get SUMCOUNT 6') // 第二步 获取当前符合条件的数据的总数 sql = "SELECT count(id) as sumCount from nodeusers where flag = 0 "; con.query(sql, function(err, rows, fields) { if (err) throw err; console.log('findUserList query datas count ' + rows +' 7'); if(rows.length > 0){ sumObjNums = rows[0].sumCount; console.log('findUserList process ok , callback router 8 '); //当数据与记录总数获取完毕后, 反调给router层函数 return callback(userArray,sumObjNums); } }); } }); console.log('findUserList service end 9 '); //回调模式编程 异步非阻塞模式处理 其程序执行过程 // post users pagelist and set response type // pname = content.txt = // findUserList enter 1 and get dbConnection // findUserList getConn OK 2 // findUserList start query db datas 3 // findUserList service end 9 // router service method end // findUserList data processing .. 5 // findUserList data processing .. 5 // findUserList data processing .. 5 // findUserList data processing .. 5 // findUserList data processing .. 5 // findUserList datas process ok ; to callback fun to get SUMCOUNT 6 // findUserList query datas count [object Object] 7 // findUserList process ok , callback router 8 // router callback process data init // router callback process data to json data // router callback response jsonstr {"code":0,"msg":"ok","count":5,"data":[{"id":1,"name":"wangwu","age":333,"flag":0},{"id":2,"name":"lisi","age":22,"flag":0},{"id":9,"name":"ggf","age":348,"flag":0},{"id":10,"name":"gf","age":43,"flag":0},{"id":12,"name":"7777","age":66,"flag":0}],"pageIndex":1} // router callback send to frontPage json info ..... } //添加用户的方法 UserService.doReg = function(uname,uage,callback){ var con = DbConnection.getDefaultConnection(); var sql = "insert into nodeusers(name,age) values(?,?)"; console.log(sql); con.query(sql,[uname,uage],function (err,result) { if(err) throw err; console.log('insert result '+ result); callback('ok'); }) console.log('execute ok '); }; //暴漏用户管理接口 module.exports=UserService;
如有疑问 请留言 欢迎提供建议
评论已有 0 条