rdb

package
v0.0.0-...-509b86c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2018 License: MIT Imports: 7 Imported by: 1

Documentation

Index

Constants

View Source
const (
	TotalAffected = "Total Affected"
)

rdb packageの定数。

Variables

This section is empty.

Functions

func NewProgrammingLangDAO

func NewProgrammingLangDAO(manager SQLManagerInterface) repository.ProgrammingLangRepository

NewProgrammingLangDAO は、ProgrammingLangDAO生成して返す。

Types

type Executor

type Executor interface {
	// Exec は、Rowが返ってこないQueryを実行する
	Exec(query string, args ...interface{}) (Result, error)
	// ExecContext は、Rowが返ってこないQueryを実行する
	ExecContext(ctx context.Context, query string, args ...interface{}) (Result, error)
}

Executor は、Rowが返ってこないQueryを実行するためのメソッドを集めたinterface。

type Preparer

type Preparer interface {
	// Prepare は、後でQueryやExecを行うために、準備された状態にする。
	// callerは、準備された状態が必要ない場合には、Closeを呼び出す必要がある。
	Prepare(query string) (*sql.Stmt, error)
	// PrepareContext は、後でQueryやExecを行うために、準備された状態にする。
	// callerは、準備された状態が必要ない場合には、Closeを呼び出す必要がある。
	// 引数で渡されたcontextは、状態の準備に使用するのであって、状態の実行に使用するのではない。
	PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
}

Preparer は、後でQueryやExecを行うために、準備された状態にするメソッドを集めたinterface。

type ProgrammingLangDAO

type ProgrammingLangDAO struct {
	SQLManager SQLManagerInterface
}

ProgrammingLangDAO は、ProgrammingLangのDAO。

func (*ProgrammingLangDAO) Create

Create は、レコードを1件生成する。

func (*ProgrammingLangDAO) Delete

func (dao *ProgrammingLangDAO) Delete(ctx context.Context, id int) error

Delete は、レコードを1件削除する。

func (*ProgrammingLangDAO) ErrorMsg

func (dao *ProgrammingLangDAO) ErrorMsg(method string, err error) error

ErrorMsg は、エラー文を生成し、返す。

func (*ProgrammingLangDAO) List

func (dao *ProgrammingLangDAO) List(ctx context.Context, limit int) ([]*model.ProgrammingLang, error)

List は、レコードの一覧を取得して返す。

func (*ProgrammingLangDAO) Read

Read は、レコードを1件取得して返す。

func (*ProgrammingLangDAO) ReadByName

func (dao *ProgrammingLangDAO) ReadByName(ctx context.Context, name string) (*model.ProgrammingLang, error)

ReadByName は、指定したNameを保持するレコードを1返す。

func (*ProgrammingLangDAO) Update

Update は、レコードを1件更新する。

type Queryer

type Queryer interface {
	// Query は、rowを返すようなQueryを実行する。SELECTが典型的な例。
	Query(query string, args ...interface{}) (Rows, error)
	// QueryContext は、rowを返すようなQueryを実行する。SELECTが典型的な例。
	QueryContext(ctx context.Context, query string, args ...interface{}) (Rows, error)
}

Queryer は、rowを返すようなQueryを実行するメソッドを集めたinterface。

type Result

type Result interface {
	// LastInsertId は、DBのレスポンスによって生成された数字を返す。
	LastInsertId() (int64, error)
	// RowsAffected は、update、insert、deleteで影響を受けたrowの数を返す。
	RowsAffected() (int64, error)
}

Result は、DBからのレスポンスを扱うメソッドを集めたinterface。

type Row

type Row interface {
	// Scan は、destに現在読み込んでいるrowのcolumnsをコピーする。
	Scan(...interface{}) error
}

Row は、1行を選択するQueryRowの結果を表す。

type Rows

type Rows interface {
	Row
	// Next は、Scanによって読み込まれる次のrowの結果を準備する。
	// Nextが成功した場合には、trueを返して、失敗した場合にはfalseを返す。
	Next() bool
	// Close は、Rowsを終了する。
	// Nextが呼ばれて、falseが返ってきて結果がそれ以上ない場合は、Rowsは自動でCloseする。
	// Errの結果を確認するにはそれで十分である。
	// Closeを使うと冪等になるし、Errの結果に影響を受けなくなる。
	Close() error
}

Rows は、Queryの結果を表す。

type SQLManager

type SQLManager struct {
	Conn *sql.DB
}

SQLManager は、SQLを管理する。

func (*SQLManager) Exec

func (s *SQLManager) Exec(query string, args ...interface{}) (Result, error)

Exec は、SQL実行する。

func (*SQLManager) ExecContext

func (s *SQLManager) ExecContext(ctx context.Context, query string, args ...interface{}) (Result, error)

ExecContext は、SQL実行する。

func (*SQLManager) Prepare

func (s *SQLManager) Prepare(query string) (*sql.Stmt, error)

Prepare は、後でQueryやExecを行うために、準備された状態にする。

func (*SQLManager) PrepareContext

func (s *SQLManager) PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)

PrepareContext は、後でQueryやExecを行うために、準備された状態にする。

func (*SQLManager) Query

func (s *SQLManager) Query(query string, args ...interface{}) (Rows, error)

Query は、rowを返すようなQueryを実行する。

func (*SQLManager) QueryContext

func (s *SQLManager) QueryContext(ctx context.Context, query string, args ...interface{}) (Rows, error)

QueryContext は、rowを返すようなQueryを実行する。

type SQLManagerInterface

type SQLManagerInterface interface {
	Executor
	Preparer
	Queryer
}

SQLManagerInterface は、SQLManagerのinterface。

func NewSQLManager

func NewSQLManager() SQLManagerInterface

NewSQLManager は、SQLManagerを生成し、返す。

type SQLRowManager

type SQLRowManager struct {
	Rows *sql.Rows
}

SQLRowManager は、Rowを管理する。

func (SQLRowManager) Close

func (r SQLRowManager) Close() error

Close は、Rowsを終了する。

func (SQLRowManager) Next

func (r SQLRowManager) Next() bool

Next は、Scanによって読み込まれる次のrowの結果を準備する。

func (SQLRowManager) Scan

func (r SQLRowManager) Scan(dest ...interface{}) error

Scan は、destに現在読み込んでいるrowのcolumnsをコピーする。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL