Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Field ¶
type Field struct { Name string Tag string Type string Addr interface{} IntSave sql.NullInt64 StringSave sql.NullString FloatSave sql.NullFloat64 BoolSave sql.NullBool }
Field db field describe struct mapping in DB like:
type DemoRow struct { FieldKey string `sql:"field_key"` FieldOne string `sql:"field_one"` FieldTwo bool `sql:"field_two"` FieldThr int64 `sql:"field_thr"` FieldFou float64 `sql:"field_fou"` }
type FieldsMap ¶
type FieldsMap interface { // GetFields Fields GetFields() []Field // GetFieldNamesInDB get Names in db from Fields GetFieldNamesInDB() []string // GetFieldValues get Values in Object(struct) GetFieldValues() []interface{} // GetFieldValue get Value in Object(struct) GetFieldValue(idx int) interface{} // GetFieldSaveAddrs get Pointers of Values in Object(struct) GetFieldSaveAddrs() []interface{} // GetFieldSaveAddr get Pointer of Value in Object(struct) GetFieldSaveAddr(idx int) interface{} // MapBackToObject mapping back to the original object MapBackToObject() interface{} //////////////////////////////////////////////////////////////// // generate SQL string // SQLFieldsStr generate sqlstr in db from Fields SQLFieldsStr() string // SQLFieldsStrForSet generate sqlstr in db from Fields for set SQLFieldsStrForSet() string //////////////////////////////////////////////////////////////// // generate statement // PrepareStmt prepare statement // Must Close after Stmt used PrepareStmt(ctx context.Context, tx *sql.Tx, db *sql.DB, sqlstr string) (*sql.Stmt, error) // SQLSelectStmt generate statement for SELECT SQLSelectStmt(ctx context.Context, tx *sql.Tx, db *sql.DB, extStr string) (*sql.Stmt, error) // SQLInsertStmt generate statement for INSERT SQLInsertStmt(ctx context.Context, tx *sql.Tx, db *sql.DB) (*sql.Stmt, error) // SQLUpdateStmt generate statement for UPDATE SQLUpdateStmt(ctx context.Context, tx *sql.Tx, db *sql.DB, extStr string) (*sql.Stmt, error) // SQLDeleteStmt generate statement for DELETE SQLDeleteStmt(ctx context.Context, tx *sql.Tx, db *sql.DB, extStr string) (*sql.Stmt, error) //////////////////////////////////////////////////////////////// // exec sql // SQLLockByPriKey by primary key (field[0]) SQLLockByPriKey(ctx context.Context, tx *sql.Tx, db *sql.DB) (interface{}, error) // SQLSelectByPriKey by primary key (field[0]) SQLSelectByPriKey(ctx context.Context, tx *sql.Tx, db *sql.DB) (interface{}, error) // SQLSelectRowsByFieldNameInDB by field name in DB SQLSelectRowsByFieldNameInDB(ctx context.Context, tx *sql.Tx, db *sql.DB, nameInDB string) ([]interface{}, error) // SQLSelectAllRows SQLSelectAllRows(ctx context.Context, tx *sql.Tx, db *sql.DB) ([]interface{}, error) // SQLInsert SQLInsert(ctx context.Context, tx *sql.Tx, db *sql.DB) error // SQLUpdateByPriKey by primary key (field[0]) SQLUpdateByPriKey(ctx context.Context, tx *sql.Tx, db *sql.DB) error // SQLDeleteByPriKey by primary key (field[0]) SQLDeleteByPriKey(ctx context.Context, tx *sql.Tx, db *sql.DB) error }
FieldsMap hold Field
func NewFieldsMap ¶
NewFieldsMap new Fields
Click to show internal directories.
Click to hide internal directories.