导语:

我们在写后台程序的时候,总要把一些数据写入到数据库中,所以合理的数据库函数调用是很有必要的,本文就写一写用node连接数据库,并且封装成函数。

<>1,创建文件conf,在其里面创建db.js,用于存放数据库的账号还有密码。
//根据开发或者生产模式来选择数据库 const env = process.env.NODE_ENV let MYSQL_CONF let
REDIS_CONF if (env === 'dev') { MYSQL_CONF = { host: 'localhost', user: 'root',
password: 'xiaomizhou123', port: '3306', database: 'mydb' } //redis_conf
REDIS_CONF = { port: 6379, host: '127.0.0.1' } } if (env === 'production') {
//mysql MYSQL_CONF = { host: '172.**.**.**', user: 'root', password:
'xiaomizhou123', port: '3306', database: 'mydb' } //redis_conf REDIS_CONF = {
port: 6379, host: '172.**.**.**' } } module.exports = { MYSQL_CONF, REDIS_CONF }
<>2,创建db文件夹,下面创建mysql.js,用于编写数据库统一执行函数。
const mysql = require('mysql') const { MYSQL_CONF } = require('../conf/db') //
创建链接对象 const con = mysql.createConnection(MYSQL_CONF) // 开始链接 con.connect() //
统一执行 sql 的函数 function exec(sql) { const promise = new Promise((resolve, reject)
=> { con.query(sql, (err, result) => { if (err) { reject(err) return } resolve(
result) }) }) return promise } module.exports = { exec, escape: mysql.escape }
<>3,创建controller文件夹,下面创建user.js,编写sql拼接函数,用于生成完整的sql语句。
const { exec, escape } = require('../db/mysql') const { genPassword } = require
('../utils/cryp') //登陆 const login = async (username, password) => { username =
escape(username) // 生成加密密码 password = genPassword(password) password = escape(
password) console.log(password) const sql = ` select username, realname, avatar
from users where username=${username} and passworded=${password} ` const rows =
await exec(sql) return rows[0] || {} } module.exports = { login }
补充:

微信搜索【web小馆】,回复全栈博客项目,即可获取项目源码和后续的实战文章教程
。每天用最简单朴实的语言,潜移默化的提升你的计算机基础知识和前端技术。小米粥,一个专注的web全栈工程师,我们下期再见!

技术
©2019-2020 Toolsou All rights reserved,
Android移动应用基础学习——第一章基础入门IDEA实现远程调试步骤详解通俗理解-梯度下降法(一)- 数学基础Java复习题-----稳了!!!如何防止Mac进入睡眠状态?告诉你4种有效的方法Arduino智能小车设计(一)自定义注解的方式的使用场景:解决业务分发vue 路由跳转四种方式 (带参数)二进制模2除法(CRC循环冗余检验)数组去重主要的5种方法,