xorm (一)创建引擎,实现简单的查询

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)
		}
	}
}

执行:

猜你喜欢

转载自blog.csdn.net/ckx178/article/details/89473993