zoukankan      html  css  js  c++  java
  • go语言xrom使用

    使用go语言中的xrom和Sync2创建并添加数据

    package main
    
    import (
    	"fmt"
    	_ "github.com/go-sql-driver/mysql"//必须导入,手动添加
    	"xorm.io/core"
    	"xorm.io/xorm"
    )
    
    
    func main() {
    	engine, err := xorm.NewEngine("mysql", "root:123@/test6?charset=utf8") // dbname是taoge
    	if err != nil {
    		fmt.Println(err)
    		return
    	}
    	if err := engine.Ping();err !=nil{
    		fmt.Println(err,"数据库连接失败!")
    		return
    	}
    	defer engine.Close()
    	fmt.Println("数据库连接成功!")
    
    
    	engine.SetMapper(core.GonicMapper{})
    	//建立表字段
    	engine.Sync2(new(PresonTable))
    	presonEmpty,err := engine.IsTableEmpty(new(PresonTable))
    	if err !=nil{
    		panic(err.Error())
    	}
    	if presonEmpty{
    		fmt.Println("人员表为空!")
    	}else{
    		fmt.Println("人员表不为空!")
    	}
    	engine.Sync2(new(CityTable))
    	cityEmpt,err := engine.IsTableEmpty(new(CityTable))
    	if err != nil{
    		panic(err.Error())
    	}
    	if cityEmpt{
    		fmt.Println("城市表为空")
    	}else {
    		fmt.Println("城市表不为空")
    	}
    	var city CityTable
    	c,_:=engine.Where("city_name=?","上海").Get(&city)
    	if c{
    		fmt.Println("数据已经存在",city)
    	}else {
    		fmt.Println("数据不存在")
    		doc0 := CityTable{"上海",120.21,30.12}
    		i0,_ :=engine.InsertOne(doc0)
    		fmt.Println("新增结果为",i0)
    	}
    	var per  PersonTable
    	b,_:=engine.Where("preson_name = ?","海燕").Get(&per)
    	if b{
    		fmt.Println("数据已经存在",per)
    	}else {
    		fmt.Println("数据不存在")
    		doc1:=PresonTable{0,"海燕",18,0}
    		i1,_ :=engine.InsertOne(doc1)
    		fmt.Println("新增结果",i1)
    	}
    
    }
    
    type PersonTable struct {
    	Id int64 `xorm:"pk autoincr"`
    	PersonName string `xorm:"varchar(24)"`
    	PersonAge int `xrom:"int default 0"`
    	PersonSex int `xrom:"notnull"`
    
    }
    
    type CityTable struct {
    	CityName string
    	CityLongitude float32
    	CityLatitude float32
    }
    
  • 相关阅读:
    PHP函数
    git (1)
    JavaScript(4)
    javascript-DOM(3)
    JavaScript-DOM(2)
    [转]分布式架构知识体系
    Mysql中查看每个IP的连接数
    Git常用命令备忘录
    windows下用vscode写C++
    sudo cd为什么不能够执行?
  • 原文地址:https://www.cnblogs.com/mqhpy/p/13541832.html
Copyright © 2011-2022 走看看