Node.Js连接mysql

来源:互联网 发布:更新ios6的软件 编辑:程序博客网 时间:2024/05/22 01:38

Node.Js连接mysql

1.首先引入mysql模块(前提是电脑上已装过mysql)

2.引入express框架(非必须)

3.connection方法

附上代码(单一操作)

//应用程序入口文件var mysql=require('mysql');var db={};//创建一个空对象//这个对象有一个query方法,接受两个参数,一个是查询的sql语句,一个是获取查询结果的回调函数db.query=function sqlback(sqllan,fn){    //返回值connection是我们操作mysql的一个具体的对象,所有的操作方法都是基于他的    var connection=mysql.createConnection({        host:'localhost',        user:'root',        password:'',        database:'blog',        port: 3306    });    //connection有一个connect方法    connection.connect(function(err){        if(err){            console.log(err);            return;        }else{            console.log('连接mysql成功了');        }    });    var sql=sqllan;    if(!sql) return;    //connection有一个query方法    connection.query(sql,function(err,rows,fields){             if(err) {            console.log(err);            return;        }        if(rows){            for(var i=0;i<rows.length;i++){                console.log(rows[i].username);            }           }           });    //connection有一个end方法,用于关闭数据库连接    connection.end(function(err) {        if(err){            return;        }else {            console.log('连接关闭');        }    })}//将db对象exports出去module.exports=db;

(多语句操作):必须在设置参数时,加上

multipleStatements: true;

调用时参数也需要注意格式

var sql='insert into user(username,password) values("zz",777); select * from user';mysql.query(sql);

4.连接池方法

附上代码

    var mysql=require('mysql');    var pool=mysql.createPool({        host:'localhost',        user:'root',        password:'',        port:'3306',        database:'blog'    });    //var connection =  mysql.createConnection( { multipleStatements: true } );    var query=function(sql1,sql2,sql3,callback){        pool.getConnection(function(err,connection){            if(err){                callback(err,null,null);            }else{                //使用回调函数中的connection参数进行操作                connection.query(sql1,function(err,result){                    console.log(result);                    console.log('操作完毕');                });                connection.query(sql2,function(err,result){                    console.log(result);                    console.log('操作完毕');                                        });                connection.query(sql3,function(err,result){                console.log(result);                console.log('查询完毕');                //释放连接,在最后一步释放,不然会出错                connection.release();                console.log('数据库连接关闭');                             });            }                   })      }//将db对象exports出去module.exports=query;

调用时

var express=require('express');var mysql=require('./db/db');var app=express();app.get('/',function(req,res){mysql('insert into user(username,password) values("nn",125)','insert into user(username,password) values("mm",125)','select * from user');});app.listen(3000);

5.防止sql注入

6.mysql自动连接问题

原创粉丝点击