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
    
  • 相关阅读:
    POJ2456 Aggressive cows
    Binary Search
    Leetcode1025 Divisor Game
    我的高中生活目标
    leetcode155 min stack
    Leetcode983 Minimum Cost For Tickets
    合并两个有序数组
    X的平方根
    力扣第35场双周赛
    整数反转
  • 原文地址:https://www.cnblogs.com/elimsc/p/14979325.html
Copyright © 2011-2022 走看看