zoukankan      html  css  js  c++  java
  • golang db.v3使用

    https://upper.io/db.v3/examples

    $ go get upper.io/db.v3
    
    var settings = mysql.ConnectionURL{
    	Database: viper.GetString("db_name"),
    	Host:     viper.GetString("db_host"),
    	User:     viper.GetString("db_user"),
    	Password: viper.GetString("db_password"),
    }
    
    sess, err = mysql.Open(settings)
    if err != nil {
    	logrus.Fatal("数据库连接失败, ", err)
    }
    defer sess.Close()
    sess.SetLogging(viper.GetBool("db_logging"))
    

    模型定义

    type Employee struct {
      ID         uint64         `db:"id,omitempty"` // `omitempty` skips ID when zero
      FirstName  sql.NullString `db:"first_name"`
      LastName   string         `db:"last_name"`
    }
    

    查询

    // 1. 构建query builder
    // 2. 使用All, One获取结果
    sess.Collection("users").Find().Where(db.Cond{"id": 11}).One(&item)
    

    插入

    // 通过Collection操作
    account := Account{
      Name: "Eliza",
      LastName: "Smith",
      ...
    }
    newID, err = sess.Collection("account").Insert(account)
    // 通过SQL Builder
    q = sess.InsertInto("people").Columns("name").Values("John")
    res, err = q.Exec() // res is a sql.Result
    
  • 相关阅读:
    访问者模式
    解释器模式
    享元模式
    职责链模式
    中介者模式
    单例模式
    桥接模式
    命令模式
    迭代器模式
    Python 学习笔记15 类
  • 原文地址:https://www.cnblogs.com/elimsc/p/14979325.html
Copyright © 2011-2022 走看看