-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathexample_test.go
44 lines (40 loc) · 914 Bytes
/
example_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package genmai_test
import (
"fmt"
"log"
_ "github.com/mattn/go-sqlite3"
"github.com/naoina/genmai"
)
type TestModel struct {
Id int64
Name string
Addr string
}
func Example() {
db, err := genmai.New(&genmai.SQLite3Dialect{}, ":memory:")
if err != nil {
log.Fatal(err)
}
defer db.Close()
for _, query := range []string{
`CREATE TABLE test_model (
id INTEGER NOT NULL PRIMARY KEY,
name TEXT NOT NULL,
addr TEXT NOT NULL
)`,
`INSERT INTO test_model VALUES (1, 'test1', 'addr1')`,
`INSERT INTO test_model VALUES (2, 'test2', 'addr2')`,
`INSERT INTO test_model VALUES (3, 'test3', 'addr3')`,
} {
if _, err := db.DB().Exec(query); err != nil {
log.Fatal(err)
}
}
var results []TestModel
// SELECT * FROM "test_model";
if err := db.Select(&results); err != nil {
log.Fatal(err)
}
fmt.Println(results)
// Output: [{1 test1 addr1} {2 test2 addr2} {3 test3 addr3}]
}