package models import "fmt" type User struct { UserId int `db:"UserId"` RoleId int `db:"RoleId"` UserName string `db:"UserName"` Password string `db:"Password"` AccessToken string `db:"AccessToken"` } func (u *User) SaveUser() (*User, error) { var err error /* sql, err := GenerateInsertMethod(&u) if err != nil { fmt.Printf("SaveUser error generating sql record : '%s'\n", err) return &User{}, err } else { fmt.Println(sql) } result, err := db.Exec(sql) */ fmt.Printf("SaveUser received object '%v'\n", u.RoleId) result, err := db.NamedExec((`INSERT INTO users (RoleId, UserName, Password, AccessToken) VALUES (:RoleId, :UserName, :Password, :AccessToken)`), u) if err != nil { fmt.Printf("SaveUser error executing sql record : '%s'\n", err) return &User{}, err } else { affected, _ := result.RowsAffected() id, _ := result.LastInsertId() fmt.Printf("SaveUser insert returned result id '%d' affecting %d row(s).\n", id, affected) } /* err = CreateUser(&u).Error if err != nil { return &User{}, err } */ return u, nil }