golang gorm搜索数据库返回指定的字段
//定义一个结构体
type User struct {
//id int64 `gorm:"primary_key"`
user string //字段和表字段相同,类型也相同
name string
}
func (User) TableName() string { //实现TableName接口,以达到结构体和表对应,如果不实现该接口,gorm会自动扩展表名为users(结构体+s)
return "user"
}
//连接数据库(mysql for example)
url := "your_dbUser:your_dbPassword@tcp(your_dbHost:your_dbPort)/your_dbName?charset=utf8&parseTime=True&loc=Local"
var db *gorm.DB
db, err = gorm.Open("mysql", url)
//查询数据
data := &[]*User{} //定义结果集数组
tx := db.Where("your_condition"); //如果没有条件直接db.Find(data)也可以,或者db.Table("user").Where("condition").Find(data) //如果不实现TableName接口,在这里指定表也可以
tx = tx.Find(data) //这里用了事务,为了方便rollback和commit