本人用golang写的mysql orm 欢迎使用提交bug 优化及更新

本人用golang写的mysql orm 欢迎使用提交bug 优化及更新,第1张

概述gomysql 官方网站http://www.widuu.com 这里显示有问题,大家可以去http://www.widuu.com/archives/02/964.html查看或者去https://github.com/widuu/gomysql查看 介绍 gomysql是基于go-sql-driver基础上开发的orm,这是一个轻量级的库。它会使数据库的增删改查变得非常容易。当然也是测试开发版

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/MysqLgo get github.com/wIDuu/goinigo get github.com/wIDuu/goMysqL
依赖的包

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

goini :github.com/widuu/goini

使用教程

设置配置文件

[database]username = MysqL usernamepassword = MysqL passwordhostname = MysqL hostcharset =  MysqL charsetdatabase = database nameport =     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中查询的OrderBydata  = 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.IDdata := 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)

自定义SQL语句

// 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 优化及更新所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1291372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存