1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| package db
|
| import (
| "gorm.io/driver/mysql"
| "gorm.io/gorm"
| "ruleModelEngine/config"
| "time"
| )
|
| var DB *gorm.DB
|
| //// 初始化数据库连接
| //func InitDB() error {
| // dsn := "root:c++java123@tcp(" + config.DataBase.Host + ":" + config.DataBase.Port + ")/" + config.DataBase.Name + "?charset=utf8mb4&parseTime=True&loc=Local"
| // var err error
| // db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
| // if err != nil {
| // return err
| // }
| // return nil
| //}
|
| func ConnectDB() error {
| dsn := config.DataBase.Username + ":" + config.DataBase.Password + "@tcp(" + config.DataBase.Host + ":" + config.DataBase.Port + ")/" + config.DataBase.Name + "?charset=utf8mb4&parseTime=True&loc=Local"
| db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
| if err != nil {
| return err
| }
| sqlDb, err := db.DB()
| if err != nil {
| return err
| }
| sqlDb.SetMaxIdleConns(2)
| sqlDb.SetMaxOpenConns(1)
| sqlDb.SetConnMaxLifetime(time.Duration(120) * time.Second)
| sqlDb.SetConnMaxIdleTime(time.Duration(1800) * time.Second)
|
| db.AutoMigrate(&PublicHouse{})
|
| DB = db
| return nil
| }
|
|