Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了本人用golang写的mysql orm 欢迎使用提交bug 优化及更新大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

goMysqL

官方网站http://www.widuu.com

这里显示有问题,大家可以去http://www.widuu.com/archives/02/964.html查看或者去https://github.com/widuu/gomysql查看

介绍

goMysqL是基于go-sql-driver基础上开发的orm,这是一个轻量级的库。它会使数据库的增删改查变得非常容易。当然也是测试开发版,会一直优化和更新!请时刻关注我们

安装

go get github.com/go-sql-driver/MysqL
go get github.com/widuu/goini
go get github.com/widuu/goMysqL

依赖的包

MysqL :github.com/Go-SQL-Driver/MySQL

goini :github.com/widuu/goini

使用教程

[database]
username = MysqL username
password = MysqL password
hostname = MysqL host
charset =  MysqL charset
database = database name
port =     MysqL port
c,_ := goMysqL.SetConfig("./conf/conf.ini") //根据配置文件,连接数据库
t := c.SetTable("user")                      //设置要处理的表名
data := t.FindOne()                          //查询表的一条数据,返回map[int]map[string]string格式
goMysqL.Print(data)                          //打印数据信息,返回如下截图的数据格式

data := t.Fileds("id","password","username").Where("id =12").FindOne() //Fileds 查询字段,Where where条件FindOne()查询一条
//limit sql中的limit OrderBy sql查询的OrderBy
data  = c.SetTable("user").Fileds("id","username").Where("id>1").Limit(1,5).OrderBy("id Desc").FindAll() 
data  = t.FindAll() //查询所有数据,其中OrderBy() Limit() Where() Fileds()等设置条件
goMysqL.Print(data) //查询的数据都可以用Print()方法友好打印出来信息
var value = make(map[string]interface{})  //设置map存储数据,map[key]value
 value["password"] = "mima3"    
 value["username"] = "xiaowei"
 value["id"] = 10
 t := c.SetTable("user")                   //设置增加的数据表
 t.SetPk("id")                             //设置主键自增的字段名称
 i,err := t.Insert(value)                  // 插入数据,返回增加个数和错误信息。返回最后增长的id和错误信息
var value = make(map[string]interface{})
value["password"] = "mima3"
value["username"] = "xiaowei"
n,err := c.SetTable("user").Where("id =5").Update(value)  //设置表,条件和修改内容,返回影响条数和错误信息
n,err := c.SetTable("user").Delete("id = 6")   //设置删除的表和数据,返回影响条数和错误信息

INNER JOIN

t := c.SetTable("user")
//下面相当于sql语句,打印出是Select user.id,data.keywords,user.username,user.password from user INNER JOIN data ON user.id = data.id
data := t.Fileds("user.id","data.keywords","user.username","user.password").Join("data","user.id = data.id").FindAll()
fmt.Println(data)

LEFT JOIN

t.Fileds("user.id","user.password").LeftJoin("data","user.id = data.id").FindAll()
 fmt.Println(data)

RIGHT JOIN

t.Fileds("user.id","user.password").RightJoin("data","user.id = data.id").FindAll()
 fmt.Println(data)

FULL JOIN

data := t.Fileds("user.id","user.id = data.id").FindAll()
 fmt.Println(data)
// Query()方法自定义sql语句的

insert类型的数据

n := t.Query("INSERT INTO user (`username`,`password`) VALUES ('xiaoweitest','xiaowei')") //返回最后增长的id

update|delete

//update
 n := c.Query("update user set username='ceshishenma' where id =17 ")
 fmt.Println(n) //1 返回受影响行数

 //delete
 n := c.Query("delete from user where id=16 ")
 fmt.Println(n) //1 返回受影响行数

select

data := c.Query("select username,password from user")
fmt.Println(data) //返回map[int]map[string]string 结构的所有数据
c.DbClose()     //关闭数据库

大佬总结

以上是大佬教程为你收集整理的本人用golang写的mysql orm 欢迎使用提交bug 优化及更新全部内容,希望文章能够帮你解决本人用golang写的mysql orm 欢迎使用提交bug 优化及更新所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: