sqlx is a library which provides a set of extensions on go's standard database/sql library.

sqlx support some db:  mysql, postgresql, oracle, sqlite ...

https://github.com/jmoiron/sqlx

 

示例代码:

该库目前只对查询进行了深度封装,对于更新和插入封装较少。

新建表

package main

import (
    "database/sql"
    _ "github.com/go-sql-driver/mysql"

    "github.com/jmoiron/sqlx"
)

var schema = `Create table person2(
first_name varchar(20),
last_name varchar(20),
email varchar(20));
`

var schema2 = `Create table place(
country varchar(20),
city varchar(20) NULL,
telcode int(20));
`

type Person struct {
    FirstName string `db:"first_name"`
    LastName string `db:"last_name"`
    Email string
}

type Place struct {
    Country string
    city sql.NullString
    TelCode int
}

func main() {
    dsn := "root:123456@tcp(172.16.65.200:3306)/golang"
    db, err := sqlx.Connect("mysql", dsn)
    if err != nil {
        panic(err)
    }

    result, err := db.Exec(schema2)
    if err != nil {
        panic(err)
    }
    _, err = result.RowsAffected()
    if err != nil {
        panic(err)
    }

}
View Code

相关文章: