最近做一個go項目,需要用go操作mysql數據庫,github上看到了一些類似python的orm的插件,感覺都不是特別方便,都需要先配置model才能使用,於是就自己動手碼了一個,分享出來.
封裝的具體代碼就不貼了,有興趣的可以移步github或者碼雲上查看.
github地址: https://github.com/imsgy/imsgy-go
碼雲地址: https://gitee.com/imsgy/mysql-db
使用步驟:
1.首先需要配置數據庫連接地址
例如: 我在項目中的config包下獲取env文件數據,並配置數據庫鏈接
UserConnect := fmt.Sprintf("%s:%s@tcp(%s:%s)/tbkt_cms?charset=utf8mb4", result["DB_USER"],
result["DB_PASS"], result["DB_HOST"], result["DB_PORT"])
DBMap["base_user"] = UserConnect
如上面代碼所示,我配置base_user數據庫鏈接
2.項目中使用:
例如我要查詢base_user庫中auth_user表user_type爲1的數據,項目中代碼如下
UserData := Pool().DB("base_user").Table("auth_user").Filter("user_type=?", 1).All()
All方法返回的是base_user.auth_user滿足user_type=1的所有數據,數據類型爲[]map[string]interface{}
UserData := Pool().DB("base_user").Table("auth_user").Filter("user_type=? AND id>?", 1, 10).Get()
Get方法返回的是base_user.auth_user滿足user_type=1和id>10的第一條數據,數據類型爲map[string]interface{}
3.更新,創建,刪除,執行,分組,排序等使用方法不一一列出,可以直接看代碼
如有不妥之處,歡迎交流討論,一起學習