博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
go语言的beedb
阅读量:6027 次
发布时间:2019-06-20

本文共 2412 字,大约阅读时间需要 8 分钟。

hot3.png

关于go语言的orm:beedb网上资料太少了,今天才开始研究,总结了一些,希望对大家有帮助,不说没用的了,直接主题:

安装:

    go get github.com/astaxie/beedb
API地址:
    https://github.com/astaxie/beedb/wiki/API-Interface
支持的数据库种类:
    Mysql/SQLite/PostgreSQL/DB2/MS ADODB/ODBC/Oracle
数据库包下载地址:
    Mysql:github.com/ziutek/mymysql/godrv[*]
    Mysql:github.com/Go-SQL-Driver/MySQL[*]
    PostgreSQL:github.com/bmizerany/pq[*]
    SQLite:github.com/mattn/go-sqlite3[*]
    DB2: bitbucket.org/phiggins/go-db2-cli
    MS ADODB: github.com/mattn/go-adodb[*]
    ODBC: bitbucket.org/miquella/mgodbc[*]
    Oracle: github.com/mattn/go-oci8

Model struct:
    Db         *sql.DB
    TableName  string
    LimitStr   int
    OffsetStr  int
    WhereStr   string
    ParamStr   []interface{}
    OrderStr   string
    ColumnStr  string
    PrimaryKey string
    JoinStr    string
    GroupByStr string
    HavingStr  string

Model method:

func New(db *sql.DB) (m Model) *

* Add New sql.DB in the future i will add ConnectionPool.Get()

func (orm *Model) DelectRow() (int64, error)

func (orm *Model) Delete(output interface{}) (int64, error)

func (orm *Model) DeleteAll(rowsSlicePtr interface{}) (int64, error)

func (orm *Model) Execute(finalQueryString string, args ...interface{}) (sql.Result, error) Execute sql

func (orm *Model) Find(output interface{}) error

func (orm *Model) FindAll(rowsSlicePtr interface{}) error

func (orm *Model) FindMap() (resultsSlice []map[string][]byte, err error)

func (orm *Model) GroupBy(keys string) *Model

func (orm *Model) Having(conditions string) *Model

func (orm *Model) Insert(properties map[string]interface{}) (int64, error) inert one info

func (orm *Model) InsertBatch(rows []map[string]interface{}) ([]int64, error) insert batch info

func (orm *Model) Join(join_operator, tablename, condition string) 

 The join_operator should be one of INNER, LEFT OUTER, CROSS etc - this will be prepended to JOIN

func (orm *Model) Limit(start int, size ...int) *Model

func (orm *Model) Offset(offset int) *Model

func (orm *Model) OrderBy(order string) *Model

func (orm *Model) SacnPK(output interface{}) *Model

func (orm *Model) Save(output interface{}) interface{} if the struct has PrimaryKey == 0 insert else update

func (orm *Model) Select(colums string) *Model

func (orm *Model) SetPK(pk string) *Model

func (orm *Model) SetTable(tbname string) *Model

func (orm *Model) Update(properties map[string]interface{}) (int64, error) update info

func (orm *Model) Where(querystring interface{}, args ...interface{}) *Model

转载于:https://my.oschina.net/u/2259452/blog/715682

你可能感兴趣的文章
第四次冲刺
查看>>
【枚举】bzoj1800 [Ahoi2009]fly 飞行棋
查看>>
用JS写CSS
查看>>
TOJ4537: n阶行列式
查看>>
PBM文件格式
查看>>
算法刷题笔记-stack-四则运算
查看>>
3.16
查看>>
Linux下arp用法
查看>>
表单文件上传与文件下载
查看>>
jquery 中prop()的使用方法
查看>>
下午考
查看>>
WKWebView
查看>>
mysql查询今天丶昨天丶一个月的数据
查看>>
创建字符设备的三种方法
查看>>
走在网页游戏开发的路上(六)
查看>>
借东西的小人阿莉埃蒂
查看>>
nodejs web开发入门: Simple-TODO Nodejs 实现版
查看>>
[转]Linux下pppoe配合Drcom插件上网方法介绍......
查看>>
时间复杂度
查看>>
nginx 配置的server_name参数(转)
查看>>