关键词搜索

源码搜索 ×
×

用go xorm来操作mysql

发布2018-10-19浏览11481次

详情内容

       很有用,来看下:

  1. package main
  2. import (
  3. "fmt"
  4. "github.com/go-xorm/xorm"
  5. "github.com/go-xorm/core"
  6. _ "github.com/go-sql-driver/mysql"
  7. )
  8. // 对应数据库的tablename必须为student
  9. // 执行mysql时,对应的字段为xxx,yyy,zzz; 也可以省掉,默认的mysql字段为id,username,address
  10. type Student struct {
  11. Id int `xorm:"INT(11) 'xxx'"`
  12. Username string `xorm:"VARCHAR(64) 'yyy'"`
  13. Address string `xorm:"VARCHAR(256) 'zzz'"`
  14. }
  15. func main() {
  16. engine, err := xorm.NewEngine("mysql", "root@/taoge?charset=utf8") // dbname是taoge
  17. if err != nil{
  18. fmt.Println(err)
  19. return
  20. }
  21. // 如下Ping可以不要
  22. // if err := engine.Ping(); err != nil{
  23. // fmt.Println(err)
  24. // return
  25. // }
  26. //engine.ShowSQL(true) // 显示SQL的执行, 便于调试分析
  27. engine.SetTableMapper(core.SnakeMapper{})
  28. st1 := new(Student)
  29. st1.Username = "taoge"
  30. st1.Address = "China"
  31. affected, err := engine.Insert(st1)
  32. fmt.Println(affected)
  33. st2 := new(Student)
  34. result,err := engine.Where("xxx=?", 1).Get(st2)
  35. fmt.Println(result)
  36. fmt.Println(st2.Username)
  37. fmt.Println(st2.Address)
  38. }

        创建数据库:

  1. CREATE TABLE `student` (
  2. `xxx` int(11) NOT NULL AUTO_INCREMENT,
  3. `yyy` varchar(64) NOT NULL,
  4. `zzz` varchar(256) NOT NULL ,
  5. PRIMARY KEY (`xxx`)
  6. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

       运行结果:

1
true
taoge
China

 

      不多说。

 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载