1、创建引擎,链接数据库,设置debug启动方式。
// 连接到数据库
func newEngin() *xorm.Engine {
engine, err := xorm.NewEngine(DriverName, MasterDataSourceName)
if err != nil {
log.Fatal(newEngin, err)
return nil
}
// Debug模式,打印全部的SQL语句,帮助对比,看ORM与SQL执行的对照关系
engine.ShowSQL(true)
return engine
}
2、配置config文件,一般将驱动参数以常量方式存储。
const DriverName = "mysql"
const MasterDataSourceName = "root:123456@tcp(127.0.0.1:3306)/superstar?charset=utf8"
3、定义entity实体对应数据库表结构
type UserInfo struct {
Id int `xorm:"not null pk autoincr"`
Name string
SysCreated int
SysUpdated int
}
4、在函数入口初始化 xorm引擎,实现简单查询
func main() {
//初始化一个xorm引擎
engine = newEngin()
//查询Function
query()
}
// 通过query方法查询
func query() {
sql := "SELECT * FROM user_info"
//results, err := engine.Query(sql)
results, err := engine.QueryInterface(sql)
//results, err := engine.QueryString(sql)
if err != nil {
log.Fatal("query", sql, err)
return
}
total := len(results)
if total == 0 {
fmt.Println("没有任何数据", sql)
} else {
for i, data := range results {
fmt.Printf("%d = %v\n", i, data)
}
}
}
执行: