Node连接数据库,封装查询语句

1.node操作mysql

//1. 导入mysql模块
let mysql = require('mysql')
//2. 选择要连接的数据库对象
let options = {
    host: "localhost",
    user: "root",
    port: "3306",
    password: "849127663",
    database: "jiaowu"
}
//3. 创建数据库的连接对象
let con = mysql.createConnection(options);
//4. 建立连接
con.connect((err) => {
    if (err) {
        console.log(err)
    } else {
        console.log('数据库连接成功')
    }
})
//5. 查询语句
function sqlQuery(strSql, arr) {
    return new Promise( (reslove, reject)=> {
        //query就是查询函数
        con.query(strSql, arr, (err, results) => {
            if (err) {
                reject(err)
            } else {
                reslove(results)
            }
        })
    })
}
//导出这个查询语句
module.exports = sqlQuery;

2.连接池

const express = require('express')
const app = express()
const query = require('./db/index')
app.get('/',async (req, res)=>{
    // 通过 ? 可以给函数动态的传入参数   (?? 可以传入数据库名字)
    let sql = "select ?? from ??  limit ?,?"
    // arr 就是 sql 语句中 动态参数的数组
    let arr = ['*',"booklist",0,2]
    let data = await query(sql, arr) 
    console.log(data)
    res.send(data)
})
app.listen(3000, ()=>{console.log('http://localhost:3000')})
let mysql = require('mysql')
let pool = mysql.createPool({
    host:"localhost",
    user:"root",
    password:"849127663",
    prot:3306,
    database:"novel"
})
function sqlQuery(str, arr){
    return new Promise((resolve, reject)=>{
        pool.getConnection((err, con)=>{
            if(err) {
                console.log("数据库连接失败")
                reject(err)
            }else{
                con.query(str, arr, (error, result, filed)=>{
                    if(error){
                        console.log("数据查询失败")
                        console.log(error.sql)
                        reject(error)
                    }else{
                        resolve(result)
                    }
                })
            }
        })
    })
}
module.exports = sqlQuery
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值