一個Go開源ORM框架 - gorp

jopen 11年前發布 | 33K 次閱讀 Go語言 持久層框架

gorp是一個ORM框架. 但其實Go還沒有真正的對象, 至少沒有一個經典的感覺和Smalltalk/Java一樣的,這是"O". gorp不知道任何你struct之間的關系(以后會實現,現在還在TODO list中). 所以"R"也是有質疑的(但是我使用這個名字,因為感覺上更貼切).

"M"是沒有問題的. 給定一些Go結構和一個數據庫, gorp應該可以減少你的重復代碼.

希望gorp能節省你的時間并簡化從數據庫獲取數據的苦活來幫助你把精力投入到算法上而不是基礎設施上面.

gorp提供一個應該被每個數據庫廠商實現的Dialect接口, Dialect支持如下數據庫:

  • MySQL
  • PostgreSQL
  • sqlite3

特點

  • 通過API或tag綁定struct字段到表的列
  • 支持事務
  • 從struct建立db架構正向工程(來做更好的單元測試)
  • insert/update/delete的前后提供hook
  • 自動為struct生成generate insert/update/delete語句
  • 在insert后自動綁定自增主鍵到struct
  • 通過主鍵刪除
  • 通過主鍵選擇
  • 可選的SQL跟蹤日志
  • 綁定任意SQL查詢到struct
  • 可通過一個version column來為update和delete實現樂觀鎖

項目主頁:http://www.baiduhome.net/lib/view/home/1358497633567

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!