background

To operate the mysql database in KOA2, complete this article.

The installation package

yarn add mysql  --save
Copy the code

The import

var mysql = require(‘mysql’);

Create a mysql data connection

var connection = mysql.createConnection(option); connection.connect(); Console. log(' database opened successfully '); return connection;Copy the code

Operating database

let promise = new Promise((resolve, reject) => { let sql2 = mysql.format(sql, paraArray); console.log(` #sql: ${sql2}`); db.query(sql2,paraArray,(error, results, fields)=>{ let str =' #result:'; str+=' error:'+error; str+=' results:'+JSON.stringify(results); str+=' fields:'+fields; console.log(str+'\n'); if (error) { reject(error); }; resolve(results,fields); })});Copy the code

other

Since I use mysql in KOA, I expect something like synchronous access to the database. My MysqlDbHelper class looks like this:

Var mysql = require('mysql'var mysql = require('mysql'); var env = require('./env.js'); var fs = require("fs"); var path = require('path'); const option = { host : env.db_host, user : env.db_user, password : env.db_password, database : env.db_name, }; function querySync(db,sql,paraArray){ // console.log('para is'+JSON.stringify(paraArray)); let promise = new Promise((resolve, reject) => { let sql2 = mysql.format(sql, paraArray); console.log(` #sql: ${sql2}`); db.query(sql2,paraArray,(error, results, fields)=>{ let str =' #result:'; str+=' error:'+error; str+=' results:'+JSON.stringify(results); str+=' fields:'+fields; console.log(str+'\n'); if (error) { reject(error); }; resolve(results,fields); })}); return promise; } let MysqlDbHelper = { createConnection: function() { var connection = mysql.createConnection(option); connection.connect(); Console. log(' database opened successfully '); return connection; }, querySync: function(sql,paraArray){ let connection = this.createConnection(); let pro = querySync(connection,sql,paraArray); pro.catch((err)=>{ console.error(' # on querySync: '+err); }).finally((some)=>{ // if(conn){ // // } }); connection.end(); return pro; }}; global.db = MysqlDbHelper; module.exports = MysqlDbHelper; ) ; Var connection = mysql.createconnection (option); connection.connect(); Console. log(' database opened successfully '); return connection; SQL = mysql.format(SQL, paraArray); SQL = mysql.format(SQL, paraArray); console.log(` #sql: ${sql2}`); db.query(sql2,paraArray,(error, results, fields)=>{ let str =' #result:'; str+=' error:'+error; str+=' results:'+JSON.stringify(results); str+=' fields:'+fields; console.log(str+'\n'); if (error) { reject(error); }; resolve(results,fields); })});Copy the code

reference

Github.com/mapbox/node…