node连接数据库

来源:互联网 发布:marry u软件 编辑:程序博客网 时间:2024/06/07 19:41

直连mysql

  • 直连mysql用的比较少,这里直接放个例子:
var mysql = require('mysql');//连接数据库var connection = mysql.createConnection({    host:'localhost',    user:'root',  //用户名    password:'',   //密码    database:'study',    port:'3306'     //端口号});connection.connect(function(err){    if(err){      console.log('---:'+err);      return;    }    console.log('连接succeed');});// 插入一条数据var sql = 'insert into student (id,name,password) values(?,?,?)';var param = ['wwwwww','wwwww','wwwww'];connection.query(sql,param,function(err,rs){    if(err){        console.log(err.message);        return;    }    console.log('插入数据succeed');});//执行查询 查询study数据库中的student表的数据connection.query('select * from student',function(err,rs){    if(err){        console.log(err);        return;    }    for(var i=0;i<rs.length;i++){        console.log('id:'+rs[i].id+'name:'+rs[i].name+'password:'+rs[i].password);    }});//关闭数据库connection.end(function(err){    if(err){      console.log('---:'+err);      return;    }    console.log('关闭succeed');});

连接池连mysql

  • 连接数据库过程中建立连接是很耗时的,而使用连接池,可以预先创建好很多连接,访问数据库时直接拿过来,访问完成在放回连接池,这样要比直接连mysql更高效。
var mysql = require('mysql'); //调用MySQL模块var aaa = new OptPool();  //初始化连接池对象var pool = aaa.getPool(); //创建连接池//从连接池获取一个连接pool.getConnection(function(err,conn){    //查询study数据库中的student表的数据    var sql = 'select * from student';    conn.query(sql,function(err,rs){        if(err){            console.log(err);            return;        }        for(var i=0;i<rs.length;i++){            console.log('id:'+rs[i].id+'name:'+rs[i].name);        }        conn.release();//放回连接池    });});//创建一个用于创建连接池的对象function OptPool(){    this.flag = true; //是否连接通过    this.pool = mysql.createPool({      host:'localhost',      user:'root',      password:'',      database:'study',      port:'3306'    });    this.getPool = function(){        if(this.flag){            //监听connection事件            this.pool.on('connection',function(connection){                connection.query('SET SESSION auto increment increme')               this.flag = false;            });        }        return this.pool;    }}
原创粉丝点击