1.0.3 • Published 8 years ago

koa-mysql v1.0.3

Weekly downloads
36
License
Apache-2.0
Repository
github
Last release
8 years ago

koa-mysql

npm version

A Node.js Koa wrapper for felixge/node-mysql based off of sidorares/mysql-co.

Requirements

  • Node.js v4.x+ for ES6 generators support

Usage

First, install the package using npm:

npm install koa-mysql --save

Then, execute a query within a Koa middleware function using the following code:

var mysql = require('koa-mysql');

// Create a MySQL connection pool (do this once)
var db = mysql.createPool({ user: 'root', password: '', database: 'test', host: 'localhost' });

// Execute a sample query (with params)
var rows = yield db.query("select ? + ? as test", [1, 2]);

// Output test result (3)
this.body = { test: rows[0].test };

Koa Example

Here's a more complete example that includes creating a basic Koa app and executing a query (also available in examples/query.js):

var koa = require('koa');
var mysql = require('koa-mysql');

// Create a MySQL connection pool (do this once)
var db = mysql.createPool({ user: 'root', password: '', database: 'test', host: 'localhost' });

// Create sample app
var app = koa();

// Run sample app
app.use(function* () {
    try {
        // Execute a sample query (with params)
        var rows = yield db.query("select ? + ? as test", [1, 2]);

        // Output test result (3)
        this.body = { test: rows[0].test };
    }
    catch (err) {
        // 500 Internal Server Error
        this.status = 500;
        this.body = { error: err };
    }
});

// HTTP port
var port = process.env.PORT || 3000;

// Listen for connections
app.listen(port);

// Log port
console.log('Server listening on port ' + port);

Run the script and visit http://localhost:3000/ to test it out. The server should return { test: 3 }.

License

Apache 2.0