Go语言实践:GORM连接数据库并实现增删改查操作 | 青训营

63 阅读2分钟

GORM

GORM,Golang的好朋友,它拥有好用的功能和高效的API,让狗子们操作数据库更加简单、维护成本更低。本文主要介绍GORM连接数据库并实现增删改查操作。

启航第一步————安装

通过go get -u gorm.io/gorm进行安装

action

    package main

    import (
        "gorm.io/driver/sqlite"
        "gorm.io/gorm"
    )

    // Product 定义结构体用来映射数据库表
    type Product struct {
        gorm.Model
        Code  string
        Price uint
    }

    func main() {
        // 建立数据库连接
        db, err := gorm.Open(sqlite.Open("data.db"), &gorm.Config{})
        if err != nil {
            panic("无法连接数据库")
        }

        // 添加Product表
        db.AutoMigrate(&Product{})

        // 向Product表添加数据
        db.Create(&Product{Code: "1", Price: 233})

        // 查找数据
        var product Product
        //查询Product中主键为1的数据
        db.First(&product, 1)  
         //条件查询和传统SQL语句一样
        db.First(&product, "code = ?", "1") 
        
        // 更新单列数据  
        db.Model(&product).Update("Price", 200)
        
        // 更新多列数据 
        db.Model(&product).Updates(Product{Price: 200, Code: "2"}) 
        
    

        // 删除数据
        db.Delete(&product, 1)
        
        //删除表
        db.DropTable("Product")
    }

Grom特点

  • 支持多种关系型数据库,包括MySQL、PostgreSQL、SQLite和Microsoft SQL Server等,这使得它成为一个非常灵活的ORM库。

  • 提供强大的查询功能,条件查询、排序、分组、连接查询和原始SQL查询等。这些功能使得开发人员可以轻松地执行复杂的数据库查询操作。

  • 支持事务处理,GORM支持事务处理,这意味着开发人员可以将一系列数据库操作放在同一个事务中,并且在任何一个操作失败时,事务会自动回滚,保证数据的完整性。

  • 支持模型关系映射GORM支持模型之间的关系映射,包括一对一、一对多和多对多关系。这使得开发人员可以轻松地在不同的数据表之间建立关联。

总结

作为Golang的好伙伴,当之无愧。也强烈建议用GORM来管理数据库,很方便也很高效。