第一種 原生方式
- 需要安裝的npm包
npm i mysql
const mysql = require('mysql')
var connection = mysql.createConnection({//配置連接
host: 'localhost',//數(shù)據(jù)庫地址
user : "xxx",//數(shù)據(jù)庫用戶
password: "xxx",//數(shù)據(jù)庫密碼
database : "world"http://需要連接的數(shù)據(jù)庫
});
connection.connect();//連接數(shù)據(jù)庫
connection.query('select * from city',function(err,results, fields){//執(zhí)行sql語句
if(err) throw err ;
console.log('thesolution is:' ,result);
});
connection.end();//斷開連接
第二種
- 使用連接池并使用封裝調(diào)用方法
npm i mysql
const mysql = require('mysql')
// 鏈接池:創(chuàng)建多個鏈接蔽莱、復(fù)用與分發(fā)鏈接
const pool = mysql.createPool({
host: '',
user: '',
password: '',
database: '',
port: '3306',
})
// 封裝塞赂,使用回調(diào)函數(shù)解決異步
var poolCallback = function(sql,callback){
pool.getConnection(function(err,connection){
connection.query(sql,function(err,results){ //使用函數(shù)做參數(shù)進(jìn)行結(jié)果回調(diào)
if(err){
return
}
callback(results) // 結(jié)果回調(diào)
connection.release() // 釋放連接資源 | 跟 connection.destroy() 不同,它是銷毀
})
})
}
//封裝 使用promise解決異步
var poolPromise = function(sql){
return new Promise (resolve=>{
pool.getConnection(function(err,connection){
connection.query(sql,function(err,results){ //使用函數(shù)做參數(shù)進(jìn)行結(jié)果回調(diào)
if(err){
return
}
resolve(results) // 結(jié)果回調(diào)
connection.release() // 釋放連接資源 | 跟 connection.destroy() 不同结序,它是銷毀
})
})
})
}
exports.poolCallback = poolCallback
exports.poolPromise = poolPromise
調(diào)用方法
//引入模塊
var pool = require('./app/pool.js');
//函數(shù)調(diào)用
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')
//初始化數(shù)據(jù)庫配置
var inits = init({
host: '',
user: '',
password: '',
database: '',
port: '3306',
})
//封裝方法調(diào)用
let getUser = function(user,limit){
let sqlw = sql
.table('user')
.field('*')
.where(user)
.limit(limit)
.select(true)
.exec();
return sqlw
}
exports.getUser = getUser
方法調(diào)用
//引入模塊
var sql = require('./app/curd.js');
//函數(shù)調(diào)用
function () {
var s = sql.getUser({status:0},1).then(res =>{
console.log(res);
})
}