Go语言ORM包:使用worm构造查询条件

发布时间:2024-12-14 09:01

构造查询条件

worm是一款方便易用的Go语言ORM库。worm支Model方式(持结构体字段映射)、原生SQL以及SQLBuilder三种模式来操作数据库,并且Model方式、原生SQL以及SQLBuilder可混合使用。
Model方式、SQL builder支持链式API,可使用Where, And, Or, ID, In, Limit, GroupBy, OrderBy, Having等函数构造查询条件。也可以可通过Join、LeftJoin、RightJoin来进行数据库表之间的关联查询。
本文通过一些例子来说明如何使用worm来构造查询条件。

main函数

package main
import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"
    log "github.com/haming123/wego/dlog"
    "github.com/haming123/wego/worm"
)
func mysql_open(cnnstr string) (*sql.DB, error) {
    db, err := sql.Open("mysql", cnnstr)
    if err != nil {
        return nil, err
    }
    err = db.Ping()
    if err != nil {
        return nil, err
    }
    return db, nil
}
func main() {
    //创建数据连接池
    cnnstr := "user:passwd@tcp(127.0.0.1:3306)/dbname?charset=utf8&parseTime=True"
    db_cnn, err := mysql_open(cnnstr)
    if err != nil {
        log.Error(err)
        return
    }
    //初始化ORM
    worm.InitMysql(db_cnn)
    //显示SQL语句log
    worm.ShowSqlLog(true)
}

说明:

  • worm代码的下载
    go get github.com/haming123/wego
  • worm.ShowSqlLog
    worm.ShowSqlLog用于控制sql日志的显示,建议测试环境下打开sql日志的显示的开关,这样可以看到每个数据库操作的sql语句以及执行时间,方便快速定位问题。
  • 数据库的支持
    目前worm支持的数据库有:mysql、postgres、sqlite、sqlserver, 本文的例子中采用了mysql数据库。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号