Skip to content
bobohume edited this page Feb 19, 2021 · 1 revision

db

包含sql orm,只支持简单orm,原生sql

游戏大部分都是内存做缓存,db做落库,极少数存在组合sql的情况,如果是这种利用原生sql,写sql语句即可

很多orm第三库太重度,轻度orm适合游戏,目前orm只支持mysql

具体参考db_test

     SimplePlayerData struct{

	AccountId int64 `sql:"primary;name:account_id"`

	PlayerId int64 `sql:"primary;name:player_id"`

	PlayerName string `sql:"name:player_name"`

	Level int `sql:"name:level"`

	Sex	  int `sql:"name:sex"`

	Gold  int `sql:"name:gold"`

	DrawGold int `sql:"name:draw_gold"`

	Vip [8]int `sql:"name:vip"`

	LastLogoutTime int64 `sql:"datetime;nameg:last_logout_time"`

	LastLoginTime int64	`sql:"datetime;name:last_login_time"`

	PLayerBlob *message.PlayerData	`sql:"blob;name:plaeyr_blob"`

	PLayerBlobJson *AA	`sql:"json;name:plaeyr_blob_json"`

}

data := &SimplePlayerData{PLayerBlob:&message.PlayerData{}, PLayerBlobJson:&AA{A:1, B: map[int]string{1:"test", 2:"test2"}}, Vip:[8]int{1,2,3,4,5,6,7,8}}

t.Log(db.InsertSql(data, "tbl_player"))

t.Log(db.InsertSqlEx(data, "tbl_player", "account_id", "gold", "plaeyr_blob", "plaeyr_blob_json", "vip0", "vip7"))

    t.Log(db.UpdateSql(data, "tbl_player"))

t.Log(db.UpdateSqlEx(data, "tbl_player", "gold", "plaeyr_blob", "plaeyr_blob_json", "vip7"))
Clone this wiki locally