https://github.com/avalchev94/sqlxt
Golang package extension for built-in database/sql
https://github.com/avalchev94/sqlxt
database extension go golang golang-package scanner sql
Last synced: 5 months ago
JSON representation
Golang package extension for built-in database/sql
- Host: GitHub
- URL: https://github.com/avalchev94/sqlxt
- Owner: avalchev94
- License: mit
- Created: 2018-09-20T09:47:23.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-10-04T09:32:21.000Z (over 7 years ago)
- Last Synced: 2024-06-21T10:59:11.476Z (about 2 years ago)
- Topics: database, extension, go, golang, golang-package, scanner, sql
- Language: Go
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sqlxt
sqlxt is a golang package which provides a simple extension to `database/sql` standard package.\
**It's still in development, so it must improve in the future with more features and tests.**
# Usage
For the whole example, go to [example/example.go](https://github.com/avalchev94/sqlxt/tree/master/example/example.go).\
For more examples, go to [scanner_test.go](https://github.com/avalchev94/sqlxt/blob/master/scanner_test.go)
```golang
package main
import (
"database/sql"
"fmt"
"log"
"os"
"github.com/avalchev94/sqlxt"
_ "github.com/lib/pq"
)
func testMap(db *sql.DB) {
rows, err := db.Query("SELECT * FROM newspapers")
if err != nil {
log.Fatalln(err)
}
newspapers := map[string]interface{}{}
if err := sqlxt.NewScanner(rows).Scan(newspapers); err != nil {
log.Fatalln(err)
}
fmt.Println(newspapers)
}
func testStruct(db *sql.DB) {
type Newspaper struct {
ID int32 `sql:"id"`
Title string `sql:"title"`
Country string `sql:"country"`
}
rows, err := db.Query("SELECT * FROM newspapers")
if err != nil {
log.Fatalln(err)
}
newspapers := []Newspaper{}
if err := sqlxt.NewScanner(rows).Scan(&newspapers); err != nil {
log.Fatalln(err)
}
fmt.Println(newspapers)
}
func main() {
db, err := connectDB()
...
...
testMap(db)
testStruct(db)
}
```
# Install
```bash
go get -u github.com/avalchev94/sqlxt
```