Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xormplus/core
https://github.com/xormplus/core
Last synced: 6 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/xormplus/core
- Owner: xormplus
- License: bsd-2-clause
- Created: 2015-05-22T06:45:58.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-03-08T07:49:20.000Z (over 4 years ago)
- Last Synced: 2024-06-21T05:01:44.496Z (5 months ago)
- Language: Go
- Size: 60.5 KB
- Stars: 0
- Watchers: 2
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Core is a lightweight wrapper of sql.DB.
# Open
```Go
db, _ := core.Open(db, connstr)
```# SetMapper
```Go
db.SetMapper(SameMapper())
```## Scan usage
### Scan
```Go
rows, _ := db.Query()
for rows.Next() {
rows.Scan()
}
```### ScanMap
```Go
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.
```Go
rows, _ := db.Query()
cols, _ := rows.Columns()
for rows.Next() {
var s = make([]string, len(cols))
rows.ScanSlice(&s)
}
``````Go
rows, _ := db.Query()
cols, _ := rows.Columns()
for rows.Next() {
var s = make([]*string, len(cols))
rows.ScanSlice(&s)
}
```### ScanStruct
```Go
rows, _ := db.Query()
for rows.Next() {
rows.ScanStructByName()
rows.ScanStructByIndex()
}
```## Query usage
```Go
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
```Go
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
```Go
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)
```