问题是:我竟傻乎乎滴没看出来是行政那边的人,中午吃饭的时候和老同事聊起此事,才知道这位大锅是人事部boss,一时间感觉事情变得搞笑起来,当然,有意思的还不止这一件,就在两周前入职的时候,当时是复试,行政总监把车开到我之前公司楼下接我,出发到现场前给我买了杯咖啡,我说美式中杯就好了,这人说怎么也得大杯,面试过了后,到晚上,这人又发朋友圈说他兴奋的狠。。。

说实话,二当家也真够zuo的。。。😅,当然这伙计在我第一面的时候就闲聊了一个多小时,还不止,他竟然知道我小名😓
```
闲聊到这儿,现在就进入本次的主题:golang web开发之Dao配置
在正式进入主题前,先说说框架的现状,个人用的是gin-gonic框架,这是个在校大学生写的基于go语言的高性能web框架,在此之前我对比过beego 、 iris 、gin-gonic这几个在维护频度和依赖支持以及star热度方面,个人选择了gin-gonic这个框架 ,同时也在github上选用了一套比较前卫的成型的框架代码,东西十分的好,但是个人觉得框架集成的mysql实在是看不下去(主要是性能低了+ 稳定性不够好+升级麻烦),遂就将数据库换成postgresql,配置完成就开始测试Dao,需要说的是其中gorm是位台湾胸弟写的ORM框架,于是开始~
且先不管现有的mysql的配置,由于框架本身只集成了mysql,所以现在需要安装一个pg的连接driver,放到指定的目录就装好依赖了,至于怎么安装,大致有二。
A>其一是使用go命令直接安装:
1 go get -u github.com/lib/pqB>其二是跟我一样keng地手动安装,就是找到github.com的源码页面,将整个项目以一个zip包下载下来,而后解压到指定目录
需要注意的是手动安装一定要将github.com后面的路径改成以目录为结构的包地址。
连接组件安装完毕开始写一个db.go的数据库初始化类和一个参数结构体,这里我给出源码:
参数结构体:
1 package config 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "io/ioutil" 7 "os" 8 "regexp" 9 "strings" 10 "unicode/utf8" 11 12 "github.com/shen100/golang123/utils" 13 ) 14 15 var jsonData map[string]interface{} 16 17 func initJSON() { 18 bytes, err := ioutil.ReadFile("./config.json") 19 if err != nil { 20 fmt.Println("ReadFile: ", err.Error()) 21 os.Exit(-1) 22 } 23 24 configStr := string(bytes[:]) 25 reg := regexp.MustCompile(`/\*.*\*/`) 26 27 configStr = reg.ReplaceAllString(configStr, "") 28 bytes = []byte(configStr) 29 30 if err := json.Unmarshal(bytes, &jsonData); err != nil { 31 fmt.Println("invalid config: ", err.Error()) 32 os.Exit(-1) 33 } 34 } 35 36 type dBConfig struct { 37 Dialect

