對(duì)許多Web應(yīng)用程序而言,數(shù)據(jù)庫(kù)都是其核心所在。數(shù)據(jù)庫(kù)幾乎可以用來(lái)存儲(chǔ)你想查詢和修改的任何信息,比如用戶信息、產(chǎn)品目錄或者新聞列表等。
Go沒(méi)有內(nèi)置的驅(qū)動(dòng)支持任何的數(shù)據(jù)庫(kù),但是Go定義了database/sql接口,用戶可以基于驅(qū)動(dòng)接口開發(fā)相應(yīng)數(shù)據(jù)庫(kù)的驅(qū)動(dòng),5.1小節(jié)里面介紹Go設(shè)計(jì)的一些驅(qū)動(dòng),介紹Go是如何設(shè)計(jì)數(shù)據(jù)庫(kù)驅(qū)動(dòng)接口的。5.2至5.4小節(jié)介紹目前使用的比較多的一些關(guān)系型數(shù)據(jù)驅(qū)動(dòng)以及如何使用,5.5小節(jié)介紹我自己開發(fā)一個(gè)ORM庫(kù),基于database/sql標(biāo)準(zhǔn)接口開發(fā)的,可以兼容幾乎所有支持database/sql的數(shù)據(jù)庫(kù)驅(qū)動(dòng),可以方便的使用Go style來(lái)進(jìn)行數(shù)據(jù)庫(kù)操作。
目前NOSQL已經(jīng)成為Web開發(fā)的一個(gè)潮流,很多應(yīng)用采用了NOSQL作為數(shù)據(jù)庫(kù),而不是以前的緩存,5.6小節(jié)將介紹MongoDB和Redis兩種NOSQL數(shù)據(jù)庫(kù)。
Go database/sql tutorial 里提供了慣用的范例及詳細(xì)的說(shuō)明。
http://wiki.jikexueyuan.com/project/go-web-programming/images/navi5.png" alt="" />