123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- package main
- import (
-
- "fmt"
- "os"
-
- _ "github.com/mattn/go-sqlite3"
-
-
-
-
-
-
-
-
- "github.com/go-xorm/xorm"
-
-
- "github.com/go-xorm/core"
- )
- func check(err error) {
- if err != nil {
- fmt.Println(err.Error())
- os.Exit(1)
- }
- }
- func NewOrm() *xorm.Engine {
-
- engine, err := xorm.NewEngine("sqlite3", "./test.db")
- check(err)
- fmt.Println("ORM loaded")
- return engine
- }
- func setupLogging(engine *xorm.Engine) {
-
- engine.ShowSQL = true
- engine.ShowDebug = true
- engine.ShowErr = true
- engine.ShowWarn = true
-
- f, err := os.Create("sql.log")
- check(err)
- engine.SetLogger(xorm.NewSimpleLogger(f))
- }
- func setupConnections(engine *xorm.Engine) {
-
- const CONNECTION_LIMIT = 4
- engine.SetMaxOpenConns(CONNECTION_LIMIT)
-
- engine.SetMaxIdleConns(CONNECTION_LIMIT)
- }
- func setupMapping(engine *xorm.Engine) {
- same := core.SameMapper{}
- gonic := core.GonicMapper{}
- snake := core.SnakeMapper{}
-
- engine.SetMapper(same)
-
- engine.SetTableMapper(gonic)
-
- engine.SetColumnMapper(snake)
- }
- func main() {
- var engine *xorm.Engine = NewOrm()
- setupLogging(engine)
- setupConnections(engine)
- setupMapping(engine)
-
- engine.Close()
- fmt.Println("ORM closed")
- }
|