engine, err := xorm.NewEngine("mysql", "root:password@tcp(localhost:3306)/mydatabase") if err != nil { log.Fatal(err) } session := engine.NewSession() defer session.Close() // use the session for database queries
var engine *xorm.Engine func init() { var err error engine, err = xorm.NewEngine("sqlite3", "test.db") if err != nil { log.Fatal(err) } } func getUser(id int) (User, error) { session := engine.NewSession() defer session.Close() var user User has, err := session.ID(id).Get(&user) if err != nil { return user, err } if !has { return user, errors.New("User does not exist") } return user, nil }This example creates an engine for an SQLite database and stores it in a package-level variable. The "init" function is used to set up the engine before the program runs. The "getUser" function creates a new session, queries the database for a user with a specified ID, and returns an error if the user does not exist. Overall, the go-xorm.xorm package is a powerful tool for working with relational databases in Go. Its "NewSession" function is an essential part of using the package to create and manage database sessions.