golang xorm postgresql数据库操作

dullswords · · 900 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

1.连接数据库

func Connect()(* xorm.Engine) {

str := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", host, port, user, password, dbName)

engine,err := xorm.NewEngine("postgres",str)

if err != nil {

log.Fatal(err)

return nil

  }

err = engine.Ping()

if err != nil {

log.Fatal(err)

return nil

  }

engine.Logger().SetLevel(core.LOG_DEBUG)

f,err := os.Create("sql.log")

if err != nil {

println(err.Error())

return nil

  }

engine.SetLogger(xorm.NewSimpleLogger(f))

fmt.Println("postgresql access succ")

err = engine.Sync2(new(models.Student))

engine.ShowSQL()

if err != nil {

log.Fatal(err)

}

return engine

}

2.最简洁的增删改查

/*

postgresql 数据库的增删改查

增engine.Insert(Student)

删engine.Exec(sql,...)

改engine.Exec(sql,...)

查engine.Sql(sql,...)

*/

tt :=  Connect()

stu := new(models.Student)

stu.Name = c.GetString("name")

stu.Num  = c.GetString("num")

stu.CreateTime = time.Now().Format("2006-01-02 15:04:05")

affect,err := tt.Insert(*stu)

sql = "delete from student where num = ?"

res,err := tt.Exec(sql,num)

sql := "update student set name = ?,update_time = ? where num = ?"

res,err := tt.Exec(sql,name,uptime,num)

sql := "select num,name from student where num = ?"

res,err := tt.SQL(sql,num).QueryInterface()


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:dullswords

查看原文:golang xorm postgresql数据库操作

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

900 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传