golang連線資料庫封裝包
阿新 • • 發佈:2019-02-09
dbobj
這個包,封裝了golang與資料庫之間的介面,目前支援oracle,mysql資料庫
go get github.com/hzwy23/dbobj
使用方法:
- 如果選擇的是oracle資料庫,請按照go-oci8包的要求配置pkgconfig和oracle instantclient.
- oci8.pc在vendor/github.com/mattn/go-oci8中.請按照要求,修改oci8.pc檔案
- 如果選擇的是mysql或者mariadb,則忽略上邊2個步驟.
- 請設定環境變數.HBIGDATA_HOME.這個變數中建立目錄conf.然後將dbobj中的system.properties複製到conf中.
export HBIGDATA_HOME=/opt/go/hcloud
建立目錄
cd $HBIGDATA_HOME mkdir conf cp dbobj/system.properties ./conf #將system.properties檔案複製到conf目錄中.
工程目錄樣式:
$HBIGDATA_HOME
----bin ----src --------github.com ------------hzwy23 ----------------dbobj ----conf --------system.properties
- 在指定的配置檔案目錄中建立配置檔案,配置檔名稱指定為:system.properties,在檔案中輸入下面資訊:
4.1 mysql配置檔案
DB.type=mysql
DB.tns = "tcp(localhost:3306)/bigdata"
DB.user = root
DB.passwd= huang
4.2 oracle配置檔案
DB.type=oracle
DB.tns = "192.168.1.101:1521/orcl"
DB.user = test
DB.passwd= huang
- 系統啟動後,會預設自動對密碼進行加密.
例子
package main import ( "fmt" "github.com/hzwy23/dbobj" ) func main() { rows, err := dbobj.Query("SELECT user_id,user_name FROM sys_user_info where user_id = ?", "admin") defer rows.Close() if err != nil { fmt.Println("query failed.") return } for rows.Next() { var userId string var userName string err = rows.Scan(&userId, &userName) if err != nil { fmt.Println("query failed. scan failed.") return } fmt.Println("user id is :", userId, "user name is :", userName) } }