eb1075dd4c
* Check if missing deps in vendor This will catch import from other repos. (maybe by auto-import) * Remove github.com/smartystreets unused deps * Remove github.com/boltdb/bolt unused dep * Fetch github.com/go-xorm/core + sync gopkg.in/ldap.v2/ldap.go * Auto-install govendor + reinstall github.com/boltdb/bolt needed by vendor/github.com/blevesearch/bleve/index/store/boltdb * Update go-xorm/xorm to a5cb21 in vendor.json * Use a custom repo for implementing change to bolt dep. * Switching bolt to github.com/go-gitea/bolt * Switching bolt to github.com/go-gitea/bolt (fork version) * change the drone sign |
||
---|---|---|
.. | ||
LICENSE | ||
README.md | ||
benchmark.sh | ||
cache.go | ||
circle.yml | ||
column.go | ||
converstion.go | ||
db.go | ||
dialect.go | ||
driver.go | ||
error.go | ||
filter.go | ||
ilogger.go | ||
index.go | ||
mapper.go | ||
pk.go | ||
rows.go | ||
scan.go | ||
table.go | ||
type.go |
README.md
Core is a lightweight wrapper of sql.DB.
Open
db, _ := core.Open(db, connstr)
SetMapper
db.SetMapper(SameMapper())
Scan usage
Scan
rows, _ := db.Query()
for rows.Next() {
rows.Scan()
}
ScanMap
rows, _ := db.Query()
for rows.Next() {
rows.ScanMap()
ScanSlice
You can use []string
, [][]byte
, []interface{}
, []*string
, []sql.NullString
to ScanSclice. Notice, slice's length should be equal or less than select columns.
rows, _ := db.Query()
cols, _ := rows.Columns()
for rows.Next() {
var s = make([]string, len(cols))
rows.ScanSlice(&s)
}
rows, _ := db.Query()
cols, _ := rows.Columns()
for rows.Next() {
var s = make([]*string, len(cols))
rows.ScanSlice(&s)
}
ScanStruct
rows, _ := db.Query()
for rows.Next() {
rows.ScanStructByName()
rows.ScanStructByIndex()
}
Query usage
rows, err := db.Query("select * from table where name = ?", name)
user = User{
Name:"lunny",
}
rows, err := db.QueryStruct("select * from table where name = ?Name",
&user)
var user = map[string]interface{}{
"name": "lunny",
}
rows, err = db.QueryMap("select * from table where name = ?name",
&user)
QueryRow usage
row := db.QueryRow("select * from table where name = ?", name)
user = User{
Name:"lunny",
}
row := db.QueryRowStruct("select * from table where name = ?Name",
&user)
var user = map[string]interface{}{
"name": "lunny",
}
row = db.QueryRowMap("select * from table where name = ?name",
&user)
Exec usage
db.Exec("insert into user (`name`, title, age, alias, nick_name,created) values (?,?,?,?,?,?)", name, title, age, alias...)
user = User{
Name:"lunny",
Title:"test",
Age: 18,
}
result, err = db.ExecStruct("insert into user (`name`, title, age, alias, nick_name,created) values (?Name,?Title,?Age,?Alias,?NickName,?Created)",
&user)
var user = map[string]interface{}{
"Name": "lunny",
"Title": "test",
"Age": 18,
}
result, err = db.ExecMap("insert into user (`name`, title, age, alias, nick_name,created) values (?Name,?Title,?Age,?Alias,?NickName,?Created)",
&user)