repository.Transaction DB } type MySQL interface { // 複数系統のデータベースが存在するので aliasで指定する Get(ctx context.Context, alias string) (DB, error) Txn(ctx context.Context, txns repository.Transactions, alias string) (Transaction, error) } type DB interface { ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error) QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) }