Xorm 执行原生 SQL

Xorm 支持原生 SQL 查询、添加、更新和删除等操作。

 

1. 执行SQL查询

Xorm 可以直接执行一个SQL查询,即Select命令。在Postgres中支持原始SQL语句中使用 ` 和 ? 符号。

sql := "select * from userinfo"
results, err := engine.Query(sql)

当调用 Query 时,第一个返回值 results 为 []map[string][]byte 的形式。

Query 的参数也允许传入 *builder.Buidler 对象

// SELECT * FROM table
results, err := engine.Query(builder.Select("*").From("table"))

另外,QueryInterface 和 Query 类似,但是返回值为 []map[string]interface{}。

QueryString 和 Query 类似,但是返回值为 []map[string]string。

 

2. 执行SQL命令

Xorm 也可以直接执行一个SQL命令,即执行Insert, Update, Delete 等操作。此时不管数据库是何种类型,都可以使用 ` 和 ? 符号。

sql = "update `userinfo` set username=? where id=?"
res, err := engine.Exec(sql, "xiaolun", 1) 

Xorm 支持事务处理。当使用事务处理时,需要创建Session对象。在进行事物处理时,可以混用ORM方法和RAW方法,如下代码所示:session := engine.NewSession()defer session ...