设为首页 加入收藏

TOP

xorm -Alias,Asc,Desc方法实例(一)
2019-05-27 20:12:31 】 浏览:39
Tags:xorm -Alias Asc Desc 方法 实例
  • Alias(string)给Table设定一个别名

    package main
    
    import (
      "fmt"
      _ "github.com/go-sql-driver/mysql"
      "github.com/go-xorm/xorm"
      "log"
      "time"
    )
    
    var engine *xorm.Engine
    
    type User struct {
      Name string `xorm:"varchar(25) 'name'"`
      Id   int    `xorm:"pk 'id' autoincr"`
      CreatedAt time.Time `xorm:"created"`
    }
    
    
    func main() {
      var err error
      engine, err = xorm.NewEngine("mysql", "root:123456@/test")
      if err != nil {
          log.Fatal(err)
          return
      }
    
      err = engine.CreateTables(User{})
      if err != nil {
          log.Fatal(err)
          return
      }
    
    //插入数据部分
      u := make([]User,3)
      u[0].Name="u0"
      u[1].Name="u1"
    
      _, err = engine.Insert(u)
      if err!=nil {
          log.Fatal(err)
          return
      }
    
      uu :=new(User)
    
      //查询结果为空
      has,err := engine.Alias("alias") .Where("alias.name = ?","u").Get(uu)
      if err!=nil{
          log.Fatal(err)
          return
      }
      fmt.Println("要查询的name是u的数据是否在数据库里:",has)
      if has {
          fmt.Println("uid:",uu.Id," uname:" ,uu.Name," utime:",uu.CreatedAt)
      }
    
      // 一个查询条件
      has,err = engine.Alias("alias") .Where("alias.name = ?","u0").Get(uu)
      if err!=nil{
          log.Fatal(err)
          return
      }
      fmt.Println("name是u0的数据是否在数据库里",has)
      if has {
          fmt.Println("    name是u0的数据在数据库里,而且他的uid:",uu.Id," uname:" ,uu.Name," utime:",uu.CreatedAt)
      }
    
      //and
    		    

    跫檠 has,err = engine.Alias("alias") .Where("alias.name = ?","u0").And("alias.id =?","1").Get(uu) if err!=nil{ log.Fatal(err) return } fmt.Println("name为u0,id为1的数据是否在数据库里",has) if has { fmt.Println(" name为u0,id为1的数据在数据库里,而且他的uid:",uu.Id," uname:" ,uu.Name," utime:",uu.CreatedAt) } //or条件查询 has,err = engine.Alias("alias") .Where("alias.name = ?","u0").Or("alias.name =?","u").Get(uu) if err!=nil{ log.Fatal(err) return } fmt.Println("name为u0或者为u的数据在数据库里",has) if has { fmt.Println(" name为u0或者为u的数据在数据库里,而且他的uid:",uu.Id," uname:" ,uu.Name," utime:",uu.CreatedAt) } /* 输出: 要查询的name是u的数据是否在数据库里: false name是u0的数据是否在数据库里 true name是u0的数据在数据库里,而且他的uid: 6 uname: u0 utime: 2019-05-26 14:17:51 +0800 CST name为u0,id为1的数据是否在数据库里 false name为u0或者为u的数据在数据库里 true name为u0或者为u的数据在数据库里,而且他的uid: 6 uname: u0 utime: 2019-05-26 14:17:51 +0800 CST */ }
  • Asc(…string)指定字段名正序排序/Desc(…string)指定字段名逆序排序

    package main
    
    import (
      "fmt"
      _ "github.com/go-sql-driver/mysql"
      "github.com/go-xorm/xorm"
      "log"
      "time"
    )
    
    var engine *xorm.Engine
    
    type User struct {
      Name      string    `xorm:"varchar(25) 'name'"`
      Id        int       `xorm:"pk 'id' autoincr"`
      CreatedAt time.Time `xorm:"created"`
    }
    
    func main() {
      var err error
      engine, err = xorm.NewEngine("mysql", "root:123456@/test")
      if err != nil {
          log.Fatal(err)
          return
      }
    
      err = engine.CreateTables(User{})
      if err != nil {
          log.Fatal(err)
          return
      }
    
    /*    u := make([]User, 5)
      u[0].Name = "abcd"
      u[1].Name = "acbd"
      u[2].Name = "dbac"
      u[3].Name = "cbda"
    
    			
    		  
    编程开发网
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇xorm -Find方法实例 下一篇golang开发:(二)安装 Golang

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }