0.0.3 • Published 7 years ago
node-async-mysql-repository v0.0.3
node-async-mysql-repository
Executing query more easy (based on json-sql-builder2)
Install
npm i node-async-mysql-repository
Usage
const { Repository, RepositoryContext } = require('node-async-mysql-repository');
const Transaction = require('node-async-mysql-transaction');
const connectionSettings = {
host: 'localhost',
port: 3306,
user: 'root',
password: 'P@ssw0rd',
database: 'coredb_test',
multipleStatements: true,
timezone: 'UTC',
};
const rows = await Transaction.invoke(connectionSettings, async connection => {
const context = new RepositoryContext(connection);
const repository = new Repository(context, { table: 'table1' });
return await repository.findBy({ value: { $gt: 100 } });
});
console.log(rows);
const rows = await Transaction.invoke(connectionSettings, async connection => {
const context = new RepositoryContext(connection);
const repository = new Repository(context, { table: 'table1' });
return await repository.findAll();
});
console.log(rows);
const row = await Transaction.invoke(connectionSettings, async connection => {
const context = new RepositoryContext(connection);
const repository = new Repository(context, { table: 'table1' });
return await repository.getBy({ id: 1 });
});
console.log(row);
const insertId = await Transaction.invoke(connectionSettings, async connection => {
const context = new RepositoryContext(connection);
const repository = new Repository(context, { table: 'table1' });
return await repository.add({ id: 1, value: 1000 });
});
console.log(insertId);
const affectedRows = await Transaction.invoke(connectionSettings, async connection => {
const context = new RepositoryContext(connection);
const repository = new Repository(context, { table: 'table1' });
return await repository.updateBy({ id: 1 }, { value: 1000 });
});
console.log(affectedRows);
const affectedRows = await Transaction.invoke(connectionSettings, async connection => {
const context = new RepositoryContext(connection);
const repository = new Repository(context, { table: 'table1' });
return await repository.deleteBy({ id: 1 });
});
console.log(affectedRows);
License
MIT
Copyright ©2018 Hiroaki SHIBUKI a.k.a. hidori