beego的数据库操作,我们要先去了解ORM(对象关系映射)框架。
1.包引入 go可以导入orm包 import (" github.com/astaxie/beego/orm" " github.com/go-sql-driver/mysql"),自带数据库驱动,目前我们做的东西这个orm已经相当满足功能需 求了,安装orm go get github.com/astaxie/beego/orm。
2.实例化orm o:=orm.NewOrm()
3.初始化数据库名 o.Using("default") //这里跟之前说到的initial有关 ,dbname := "test", orm.RegisterDataBase("default", "mysql", fmt.Sprintf("%s:%s@tcp(%s:%d)/%scharset=utf8&interpolateParams=1&loc=Asia%%2FShanghai", user, passwd, host, port, dbname))//数据库连接
1.包引入 go可以导入orm包 import (" github.com/astaxie/beego/orm" " github.com/go-sql-driver/mysql"),自带数据库驱动,目前我们做的东西这个orm已经相当满足功能需 求了,安装orm go get github.com/astaxie/beego/orm。
2.实例化orm o:=orm.NewOrm()
3.初始化数据库名 o.Using("default") //这里跟之前说到的initial有关 ,dbname := "test", orm.RegisterDataBase("default", "mysql", fmt.Sprintf("%s:%s@tcp(%s:%d)/%scharset=utf8&interpolateParams=1&loc=Asia%%2FShanghai", user, passwd, host, port, dbname))//数据库连接
4.执行sql语句 o.Raw(sql string,args.......interface{}) 这个函数返回的是 RawSeter 对象,对象属性可去看源代码 beego/orm/types 文件
o.RawJSON(sql string,json config.LJSON) 这个函数返回的是 RawSeter 对象,对象属性可去看源代码 beego/orm/types 文件
Exec() (sql.Result, error) 执行组合过来的sql语句并返回结果和错误信息( 一般更新和插入,删除操作用)
o.RawJSON(sql string,json config.LJSON) 这个函数返回的是 RawSeter 对象,对象属性可去看源代码 beego/orm/types 文件
Exec() (sql.Result, error) 执行组合过来的sql语句并返回结果和错误信息( 一般更新和插入,删除操作用)
package main
import (
"fmt"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)
func init() {
orm.RegisterDriver("mysql", orm.DR_MySQL)
orm.RegisterDataBase("default", "mysql", "root:root@/orm_test?charset=utf8", 30)
}
func main() {
o := orm.NewOrm()
o.Using("default") // 默认使用 default,你可以指定为其他数据库
sql3 := `INSERT INTO t_package_handle(PackageHandleID,PackageComboID,PackageInfoID,HandleName,Uom,HandlePrice,NamePY,Displayorder)
VALUES (:PackageHandleID,:PackageComboID,:PackageInfoID,:HandleName,:Uom,:HandlePrice,:NamePY,:Displayorder)`
_, err.Msg = o.RawJSON(sql3, param).Exec()//JSON格式数据,数据格式话:进行匹配,看公司定义
}