代码拉取完成,页面将自动刷新
package main
import (
"fmt"
"sqlx"
_ "github.com/go-sql-driver/mysql"
)
func main() {
//初始化配置
kConf := new(sqlx.KConfig)
//初始化DB的配置
dbConfig := new(sqlx.DBConfig)
dbConfig.Driver = "mysql"
dbConfig.Dsn = "root:123456@tcp(127.0.0.1:3306)/sqlx?charset=utf8&parseTime=true"
dbConfig.IsMaster = true
kConf.DBConfigList = []sqlx.DBConfig{*dbConfig}
sqlx.RegisterDataBase(*kConf)
//原生SQL查询
sqlx.Select("select * from user where id = ?", 1).ToArray()
//返回map[string][string]
sqlx.Select("select * from user where id = ?", 1).ToMap()
//返回struct
type user struct {
Id int `db:"id;auto"`
Name string `db:"name"`
}
var result []user
sqlx.Select("select * from user").ToStruct(&result)
fmt.Println("result:", result)
//链式操作,返回单条数据
sqlx.Table("user").Where("id", 1).First().ToArray()
//支持指定库操作
var u user
sqlx.WithDB("mysql::master").Table("user").Where("id", 1).First().ToStruct(&u)
//批量插入支持map方式和struct方式
a1 := new(user)
a1.Name = "张三"
a2 := new(user)
a2.Name = "李四"
users := []user{*a1, *a2}
sqlx.Table("user").MultiInsert(users)
}
//查询单条数据
//返回[]string
arr, err := sqlx.Table("user").Where("id", 1).First().ToArray()
//返回map[string][string
mp, err := sqlx.Table("user").Where("id", 1).First().ToMap()
type user struct {
Id int `db:"id"`
Name string `db:"name"`
}
//返回结构体
var result user
err := sqlx.Table("user").Where("id", 1).First().ToStruct(&result)
//查询多条数据
//返回[][]string
arr, err := sqlx.Table("user").Where("id", 1).Get().ToArray()
//返回[]map[string][string
mp, err := sqlx.Table("user").Where("id", 1).Get().ToMap()
type user struct {
Id int `db:"id"`
Name string `db:"name"`
}
//返回结构体
var result []user
err := sqlx.Table("user").Where("id", 1).Get().ToStruct(&result)
//通过结构体插入
type user struct {
Id int `db:"id;auto"` //tag中包含auto属性的时候,插入时会自动过滤
Name string `db:"name"`
}
a1 := new(user)
a1.Name = "张三"
//插入单条
sqlx.Table("user").Insert(a1)
//插入多条
a1 := new(user)
a1.Name = "张三"
a2 := new(user)
a2.Name = "李四"
users := []user{*a1, *a2}
sqlx.Table("user").MultiInsert(users)
//通过map方式插入
user := make(map[string]string)
user["name"] = "张三"
sqlx.Table("user").Insert(user)
data := make(map[string]interface{})
data["name"] = "李四"
sqlx.Table("user").Where("id", 1).Update(data)
sqlx.Table("user").Where("id", 1).Delete()
grammar字符串拼接优化
使用对象池来优化new过多的问题
链式操作支持子查询
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。