JS: Improve mysql2 model

This commit is contained in:
Asger Feldthaus
2021-03-30 11:33:42 +01:00
parent e8d7925084
commit 937a620f4d
7 changed files with 81 additions and 5 deletions

View File

@@ -6,6 +6,7 @@
| mysql1.js:7:14:7:21 | 'secret' | password |
| mysql1a.js:10:9:10:12 | 'me' | user name |
| mysql1a.js:11:13:11:20 | 'secret' | password |
| mysql2-promise.js:8:9:8:14 | 'root' | user name |
| mysql2.js:7:21:7:25 | 'bob' | user name |
| mysql2.js:8:21:8:28 | 'secret' | password |
| mysql2tst.js:8:9:8:14 | 'root' | user name |

View File

@@ -7,10 +7,18 @@
| mysql1.js:13:18:13:43 | 'SELECT ... lution' |
| mysql1.js:18:18:22:1 | {\\n s ... vid']\\n} |
| mysql1a.js:17:18:17:43 | 'SELECT ... lution' |
| mysql2-promise.js:14:3:14:62 | 'SELECT ... ` > 45' |
| mysql2-promise.js:23:3:23:56 | 'SELECT ... e` > ?' |
| mysql2-promise.js:31:19:31:39 | 'SELECT ... users' |
| mysql2-promise.js:32:21:32:41 | 'SELECT ... users' |
| mysql2-types.ts:4:16:4:36 | 'SELECT ... users' |
| mysql2.js:12:12:12:37 | 'SELECT ... lution' |
| mysql2tst.js:14:3:14:62 | 'SELECT ... ` > 45' |
| mysql2tst.js:23:3:23:56 | 'SELECT ... e` > ?' |
| mysql2tst.js:31:19:31:39 | 'SELECT ... users' |
| mysql2tst.js:32:21:32:41 | 'SELECT ... users' |
| mysql3.js:14:20:14:52 | 'SELECT ... etable' |
| mysql3.js:26:14:26:31 | 'SELECT something' |
| mysql4.js:14:18:14:20 | sql |
| mysqlImport.js:3:18:5:1 | {\\n s ... = ?',\\n} |
| postgres1.js:37:21:37:24 | text |

View File

@@ -0,0 +1,32 @@
// Adapted from the documentation of https://github.com/sidorares/node-mysql2,
// which is licensed under the MIT license; see file node-mysql2-License.
const mysql = require('mysql2/promise');
// create the connection to database
const connection = await mysql.createConnection({
host: 'localhost',
user: 'root',
database: 'test'
});
// simple query
connection.query(
'SELECT * FROM `table` WHERE `name` = "Page" AND `age` > 45',
function(err, results, fields) {
console.log(results); // results contains rows returned by server
console.log(fields); // fields contains extra meta data about results, if available
}
);
// with placeholder
connection.query(
'SELECT * FROM `table` WHERE `name` = ? AND `age` > ?',
['Page', 45],
function(err, results) {
console.log(results);
}
);
const conn2 = await mysql.createConnectionPromise();
await conn2.query('SELECT * FROM users');
await conn2.execute('SELECT * FROM users');

View File

@@ -0,0 +1,5 @@
import { Connection } from "mysql2";
export function doSomething(conn: Connection) {
conn.query('SELECT * FROM users');
}

View File

@@ -26,3 +26,7 @@ connection.query(
console.log(results);
}
);
const conn2 = await mysql.createConnectionPromise();
await conn2.query('SELECT * FROM users');
await conn2.execute('SELECT * FROM users');

View File

@@ -21,3 +21,7 @@ pool.getConnection(function(err, connection) {
// Don't use the connection here, it has been returned to the pool.
});
});
pool.on('connection', conn => {
conn.query('SELECT something');
});