golang gorm搜索数据库返回指定的字段

哈哈gogo 2020-06-06 01:01:21
select user,name from user
或者
select * from user
查到的结果只返回显示user,name这两个字段,gorm怎么个写法
...全文
5143 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Burg丶 2021-01-20
  • 打赏
  • 举报
回复 1
引用 1 楼 qybao 的回复:
那就定义结果集只有user和name两个字段就好了
//定义一个结构体
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
数据查询为啥要用事务?
哈哈gogo 2020-10-19
  • 打赏
  • 举报
回复
ok,康忙,baby
qybao 2020-06-08
  • 打赏
  • 举报
回复
那就定义结果集只有user和name两个字段就好了
//定义一个结构体
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
资源下载链接为: https://pan.quark.cn/s/9648a1f24758 Golang原生操作MySQL的方式较为繁琐,因此许多开发者选择使用Gorm来简化操作。Gorm是一个功能强大的ORM框架,能够帮助开发者更高效地与MySQL数据库进行交互。接下来,就让我们一起了解一下Gorm的基本使用方法,感兴趣的朋友可以跟随本文的介绍,快速掌握Gorm的使用要点。 首先,要使用Gorm,需要通过go get命令安装Gorm及其对应的MySQL驱动。安装完成后,就可以在代码中引入Gorm并进行数据库连接的配置。连接数据库时,需要提供数据库的用户名、密码、IP地址、端口号以及数据库名称等信息。Gorm支持多种连接方式,可以根据实际需求选择合适的配置方式。 在连接数据库之后,就可以开始定义模型了。模型是Gorm中用于映射数据库表的结构体。通过在结构体中定义字段,并使用Gorm提供的标签来指定字段的类型、长度、是否为主键、是否自动增长等属性,可以方便地将结构体与数据库表进行映射。例如,定义一个User模型,包含ID、Name、Age等字段,通过标签可以指定ID为主键且自动增长,Name为字符串类型且长度为100等。 接下来是数据库的操作,Gorm提供了丰富的CRUD操作方法。例如,使用Create方法可以将模型实例插入到数据库中;使用First、Find等方法可以根据条件查询数据;使用Save方法可以更新模型实例对应的记录;使用Delete方法可以删除记录。这些方法的使用都非常简单,只需要将模型实例或者查询条件传递给相应的方法即可。 除了基本的CRUD操作,Gorm还支持预加载、关联查询等功能。预加载可以在查询时提前加载关联的模型,避免多次查询数据库,提高查询效率。关联查询则可以通过定义模型之间的关联关系,方便地进行多表查询。例如,定义User和Profile模型之间的一

2,348

社区成员

发帖
与我相关
我的任务
社区描述
go语言学习与交流版
社区管理员
  • go语言社区
  • 俺叫西西弗斯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧