node配置连接MySQL

第一种 原生方式

  • 需要安装的npm包

npm i mysql

const mysql = require('mysql')

 var connection = mysql.createConnection({//配置连接
        host: 'localhost',//数据库地址
        user : "xxx",//数据库用户
        password: "xxx",//数据库密码
        database : "world"//需要连接的数据库
    });
    
    connection.connect();//连接数据库
    
    connection.query('select * from city',function(err,results, fields){//执行sql语句
        if(err) throw err ;
        console.log('thesolution is:' ,result);
    });
    
    connection.end();//断开连接

第二种

  • 使用连接池并使用封装调用方法

npm i mysql

const mysql = require('mysql')


// 链接池:创建多个链接、复用与分发链接
const pool = mysql.createPool({
  host: '',
  user: '',
  password: '',
  database: '',
  port: '3306',
})

// 封装,使用回调函数解决异步
var  poolCallback = function(sql,callback){  
  pool.getConnection(function(err,connection){  
    connection.query(sql,function(err,results){  //使用函数做参数进行结果回调
        if(err){
            return
        }
      callback(results) // 结果回调
        connection.release() // 释放连接资源 | 跟 connection.destroy() 不同,它是销毁
     })
   
  })
}

//封装 使用promise解决异步
var  poolPromise = function(sql){  
    return new Promise (resolve=>{
          pool.getConnection(function(err,connection){
            connection.query(sql,function(err,results){  //使用函数做参数进行结果回调
                if(err){
                    return
                }
              resolve(results) // 结果回调
                connection.release() // 释放连接资源 | 跟 connection.destroy() 不同,它是销毁
             })
          })
        })
  
}

exports.poolCallback = poolCallback 
exports.poolPromise = poolPromise 

调用方法

//引入模块
var pool = require('./app/pool.js');
//函数调用
function (){
    pool.poolPromise("select * from user limit 1").then(data=>{
        loginResult.data=data
        res.json(loginResult);
    })
    }

第三种

  • 使用mysqls 官方文档 https://github.com/wangweianger/mysqls

npm i mysqls

//ES6语法  识别不了
//import { init, exec, sql, transaction } from 'mysqls'  



let { init, exec, sql, transaction } = require('mysqls')

//初始化数据库配置
var inits = init({
     host: '',
     user: '',
     password: '',
     database: '',
     port: '3306',
   })
//封装方法调用
let getUser = function(user,limit){
  let sqlw =  sql
   .table('user')
   .field('*')
   .where(user)
   .limit(limit)
   .select(true)
   .exec();
    return sqlw
}

exports.getUser = getUser

方法调用

//引入模块
var sql = require('./app/curd.js');

//函数调用
function () {
    var s = sql.getUser({status:0},1).then(res =>{
        console.log(res);
    })
}

你可能感兴趣的:(node配置连接MySQL)