次のコラムでは、 からの Golang グローバル SQL データベース接続について説明します。 golang チュートリアル コラム. 困っている友達のお役に立てれば幸いです!
Golang SQL データベース接続をグローバルとして記述する方法。毎回頻繁に作成および破棄する必要がなく、データベースの消費量とコードの複雑さを軽減します。
データベース接続は通常、モデル層の下の db.go で定義されます (名前はカスタマイズされており、データベースに関連するデータベースまたは SQL にすることもできます)
私は mongoDb を使用しているためここでは、モデル /mgo.go
package model import ( "context" _ "fmt" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" "log" "time" ) type mgo struct { uri string //数据库网络地址 database string //要连接的数据库 //collection string //要连接的集合 } var ( DB *mongo.Database ) func Connect() (*mongo.Database, error) { var m = &mgo{ "mongodb://localhost:27017", "数据库名", //"数据库表名", } ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() client, err := mongo.Connect(ctx, options.Client().ApplyURI(m.uri)) if err != nil { log.Print(err) } DB = client.Database(m.database) return DB, err }
その後、main.go
func main() { //初始化mongodb model.Connect() }
で初期化しますデータベース操作を実行する必要がある場合、モデル DB で直接呼び出すには、
collection := model.DB.Collection("表名") //插入操作 insertResult, err := collection.InsertOne(context.TODO(), "内容")
mysql または他のデータベースまたは gorm フレームワークを使用できます。同様のことが当てはまります。
その他の関連技術記事については、go language チュートリアル列をご覧ください。
以上がGolang グローバル SQL データベース接続についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。