Documentation ¶
Index ¶
- Constants
- func NewProgrammingLangDAO(manager SQLManagerInterface) repository.ProgrammingLangRepository
- type Executor
- type Preparer
- type ProgrammingLangDAO
- func (dao *ProgrammingLangDAO) Create(ctx context.Context, lang *model.ProgrammingLang) (*model.ProgrammingLang, error)
- func (dao *ProgrammingLangDAO) Delete(ctx context.Context, id int) error
- func (dao *ProgrammingLangDAO) ErrorMsg(method string, err error) error
- func (dao *ProgrammingLangDAO) List(ctx context.Context, limit int) ([]*model.ProgrammingLang, error)
- func (dao *ProgrammingLangDAO) Read(ctx context.Context, id int) (*model.ProgrammingLang, error)
- func (dao *ProgrammingLangDAO) ReadByName(ctx context.Context, name string) (*model.ProgrammingLang, error)
- func (dao *ProgrammingLangDAO) Update(ctx context.Context, lang *model.ProgrammingLang) (*model.ProgrammingLang, error)
- type Queryer
- type Result
- type Row
- type Rows
- type SQLManager
- func (s *SQLManager) Exec(query string, args ...interface{}) (Result, error)
- func (s *SQLManager) ExecContext(ctx context.Context, query string, args ...interface{}) (Result, error)
- func (s *SQLManager) Prepare(query string) (*sql.Stmt, error)
- func (s *SQLManager) PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
- func (s *SQLManager) Query(query string, args ...interface{}) (Rows, error)
- func (s *SQLManager) QueryContext(ctx context.Context, query string, args ...interface{}) (Rows, error)
- type SQLManagerInterface
- type SQLRowManager
Constants ¶
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 ¶
func (dao *ProgrammingLangDAO) Create(ctx context.Context, lang *model.ProgrammingLang) (*model.ProgrammingLang, error)
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 ¶
func (dao *ProgrammingLangDAO) Read(ctx context.Context, id int) (*model.ProgrammingLang, error)
Read は、レコードを1件取得して返す。
func (*ProgrammingLangDAO) ReadByName ¶
func (dao *ProgrammingLangDAO) ReadByName(ctx context.Context, name string) (*model.ProgrammingLang, error)
ReadByName は、指定したNameを保持するレコードを1返す。
func (*ProgrammingLangDAO) Update ¶
func (dao *ProgrammingLangDAO) Update(ctx context.Context, lang *model.ProgrammingLang) (*model.ProgrammingLang, error)
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 ¶
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 ¶
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 ¶
SQLManagerInterface は、SQLManagerのinterface。
type SQLRowManager ¶
SQLRowManager は、Rowを管理する。
func (SQLRowManager) Scan ¶
func (r SQLRowManager) Scan(dest ...interface{}) error
Scan は、destに現在読み込んでいるrowのcolumnsをコピーする。