概要
GolangのO/Rマッパーで、Oracle Databaseへの接続できるものがないか探してみたところ、XORMというライブラリに行き着きました。こちらのドキュメントにある通り、Oracleのドライバー対応は2022年4月現在はexperimentの状態ですが、使えなくもないだろうということで少し試してみました。
前提
mattn/go-oci8のセッティングを事前に行なってください。【Oracle】Mac環境でmattn/go-oci8のライブラリをインストール時「oci.h: No such file or directory」が発生の記事も、参考になるかと思います。
実装サンプル(接続部分)
DBの接続部分(エンジン生成)について、実装のサンプルを記載します。
CRUD操作については、【Go】Xormの使い方 その①(CRUD)の記事を参照ください。
import (
"log"
_ "github.com/mattn/go-oci8"
"xorm.io/xorm"
)
func GetOracleDbEngine() (*xorm.Engine, error) {
engine, err := xorm.NewEngine("oci8", "sample_user/password@localhost:1521/ORCLPDB1")
if err != nil {
log.Fatal(err)
}
return engine, err
}