第一种 原生方式
- 需要安装的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);
})
}
网友评论