Mysql-wrapper
A wrapper of node-mysql to improve fault tolerance, including enhanced query generator and data escaping which powered by typo template engine.
Mysql-wrapper is also a supervisor and a minor set of node-mysql.
Mysql-wrapper is created to solve the "Cannot enqueue Handshake after already enqueuing a Handshake" error of node-mysql and more.
Installation
npm install mysql-wrapper --save
Usage
var mysql = ;var conn = ;conn;
Methods
There're only two methods, maybe one, that you'd frequently use.
conn.query(sql, data, callback)
Execute a mysql query.
If you use helpers below, the parameters will be ** automatically escaped if necessary ** in order to avoid SQL Injection attacks.
sql
String
a special version of typo syntax which optimized for sql grammar is provided.
data
Object
template data for typo
callback
function(err, result)
Callback of mysql quering
Example: Available helpers
Mysql WHERE: {{where data}}
conn;
Mysql VALUES: {{values values}}
'INSERT INTO table {{values values}}' values: a: 1 b: 2 -> INSERT INTO
Mysql SET: {{set data}}
'INSERT INTO table {{set data}}' data: a: 1 b: 2 -> INSERT INTO table SET a = '1' b = '2'
Mysql ON: {{on condition}}
Mysql UPDATE: {{update data}}
Use them together
'SELECT p.a, p.b, q.a FROM p INNER JOIN q {{on 0}} {{where 1}}' 'p.a': 'q.a' 'q.b': 1
conn.end()
Close the current connection, if there's another conn.query
executed, the connection will be automatically created again.
For an application of high concurrence, you should NEVER use this method!