go-xorm簡單而強(qiáng)大的Go語言O(shè)RM庫
xorm是一個簡單而強(qiáng)大的Go語言O(shè)RM庫. 通過它可以使數(shù)據(jù)庫操作非常簡便。
討論
請加入QQ群:280360085 進(jìn)行討論。
驅(qū)動支持
目前支持的Go數(shù)據(jù)庫驅(qū)動如下:
-
MyMysql: github.com/ziutek/mymysql/godrv
-
SQLite: github.com/mattn/go-sqlite3
-
Postgres: github.com/bylevel/pq
更新日志
- v0.2.0 : 新增 緩存支持,查詢速度提升3-5倍;; 新增數(shù)據(jù)庫表和Struct同名的映射方式; 新增Sync同步表結(jié)構(gòu);
- v0.1.9 : 新增 postgres 和 mymysql 驅(qū)動支持; 在Postgres中支持原始SQL語句中使用 ` 和 ? 符號; 新增Cols, StoreEngine, Charset 函數(shù);SQL語句打印支持io.Writer接口,默認(rèn)打印到控制臺;新增更多的字段類型支持,詳見 映射規(guī)則;刪除廢棄的MakeSession和Create函數(shù)。
- v0.1.8 : 新增聯(lián)合index,聯(lián)合unique支持,請查看 映射規(guī)則。
- v0.1.7 : 新增IConnectPool接口以及NoneConnectPool, SysConnectPool, SimpleConnectPool三種實現(xiàn),可以選擇不使用連接池,使用系統(tǒng)連接池和使用自帶連接池三種實現(xiàn),默認(rèn)為SysConnectPool,即系統(tǒng)自帶的連接池。同時支持自定義連接池。Engine新增Close方法,在系統(tǒng)退出時應(yīng)調(diào)用此方法。
- v0.1.6 : 新增Conversion,支持自定義類型到數(shù)據(jù)庫類型的轉(zhuǎn)換;新增查詢結(jié)構(gòu)體自動檢測匿名成員支持;新增單向映射支持;
- v0.1.5 : 新增對多線程的支持;新增Sql()函數(shù);支持任意sql語句的struct查詢;Get函數(shù)返回值變動;MakeSession和Create函數(shù)被NewSession和NewEngine函數(shù)替代;
- v0.1.4 : Get函數(shù)和Find函數(shù)新增簡單的級聯(lián)載入功能;對更多的數(shù)據(jù)庫類型支持。
- v0.1.3 : Find函數(shù)現(xiàn)在支持傳入Slice或者M(jìn)ap,當(dāng)傳入Map時,key為id;新增Table函數(shù)以為多表和臨時表進(jìn)行支持。
- v0.1.2 : Insert函數(shù)支持混合struct和slice指針傳入,并根據(jù)數(shù)據(jù)庫類型自動批量插入,同時自動添加事務(wù)
- v0.1.1 : 添加 Id, In 函數(shù),改善 README 文檔
- v0.1.0 : 初始化工程
特性
-
支持Struct和數(shù)據(jù)庫表之間的靈活映射,并支持自動同步
-
事務(wù)支持
-
同時支持原始SQL語句和ORM操作的混合執(zhí)行
-
使用連寫來簡化調(diào)用
-
支持使用Id, In, Where, Limit, Join, Having, Table, Sql, Cols等函數(shù)和結(jié)構(gòu)體等方式作為條件
-
支持?jǐn)?shù)據(jù)庫連接池
-
支持級聯(lián)加載Struct
-
支持緩存
評論
圖片
表情
