0.0.3 • Published 7 years ago

node-async-mysql-repository v0.0.3

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

Software License Maintainability Build Status Coverage Status

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