top

提供所有的数据访问的接口 dal包得结构为: 1、顶层是dal.go:里面封装了一些游戏、模型数据库的对象;以及一些公共的方法 2、下面的层级对应的是游戏的层级 world(游戏世界)

dynamic(动态数据)
	--
	--
global(全局数据)
	--
	--
models(模型数据)
	--
	--
player(玩家数据)
	--
	--

新增一个文件时,先确定该文件对应的层级,然后将该文件创建到对应的目录下。

dal包下面方法的格式为: 1、查询单条数据的方法 func GetPlayerById(id string) (playerObj *player.Player, exists bool, err error) 参数:非必须,如果有则是对应的条件 返回值:

数据对应的对象
数据是否存在
错误对象:主要是操作数据库产生的错误对象

使用QueryRow方法来返回单条数据 2、查询多条数据的方法 func GetPlayerById(id string) (playerObj *player.Player, exists bool, err error) 参数:非必须,如果有则是对应的条件 返回值:

数据对应的对象集合
数据是否存在:可选
错误对象:主要是操作数据库产生的错误对象

使用Query方法来返回多条数据,并使用for rows.Next()来遍历所有数据;如果要提前退出循环,则必须要调用rows.Close方法; 3、更新数据的方法 func UpdatePlayerName(tx *sql.Tx, playerObj *player.Player) (rowsAffected int64, err error) 参数:

事务对象
数据对象:一个完整的对象,而不是一个一个的参数

返回值:

受影响行数
错误对象:主要是操作数据库产生的错误对象

dal包中的错误处理: 当出现错误时,应该立即将错误记录到日志中,并返回错误对象。由于是离错误最近,所以能够获得最详细的错误信息

Imported by 5 package(s)

  1. github.com/Jordanzuo/GameServer_Go/src/bll/worldBLL/playerBLL
  2. github.com/Jordanzuo/GameServer_Go/src/dal/worldDAL/dynamicDAL/serverGroupSettingDAL
  3. github.com/Jordanzuo/GameServer_Go/src/dal/worldDAL/globalDAL/playerNameDAL
  4. github.com/Jordanzuo/GameServer_Go/src/dal/worldDAL/modelsDAL/systemConfigDAL
  5. github.com/Jordanzuo/GameServer_Go/src/dal/worldDAL/playerDAL

Imports 5 package(s)

  1. github.com/Jordanzuo/GameServer_Go/src/config
  2. github.com/Jordanzuo/GameServer_Go/src/model/world/player
  3. github.com/Jordanzuo/goutil/logUtil
  4. github.com/go-sql-driver/mysql
  5. github.com/Jordanzuo/goutil/configUtil