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 优化及更新所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)