26.蛤蟆笔记go语言——beedb库使用

beedb是一个Go进行ORM操作的库,它采用了Go style方式对数据库进行操作,实现了struct到数据表记录的映射。是一个十分轻量级的Go ORM框架,本意降低复杂的ORM学习曲线,尽可能在ORM的运行效率和功能之间寻求一个平衡.

安装

支持go get方式安装,是完全按照Go Style的方式来实现的。

命令行执行:go get github.com/astaxie/beedb

需要import相应的数据库驱动包、database/sql标准接口包以及beedb包

import (

"database/sql"

"github.com/astaxie/beedb"

_"github.com/ziutek/mymysql/godrv"

)

初始化

db, err := sql.Open("mymysql","test/xiemengjun/123456")

if err != nil {

panic(err)

}

orm := beedb.New(db)

beedb的New函数实际上应该有两个参数,第一个参数标准接口的db,第二个参数是使用的数据库引擎,如果你使用的数据库引擎是MySQL/Sqlite,那么第二个参数都可以省略。

如果你使用的数据库是SQLServer,那么初始化需要:

orm = beedb.New(db, "mssql")

如果你使用了PostgreSQL,那么初始化需要:

orm = beedb.New(db, "pg")

采用前面的数据库表Userinfo,现在我们建立相应的struct

type Userinfo struct {

Uid     int `PK` //如果表的主键不是id,那么需要加上pk注释,显式的说这个字段是主键

Username    string

Departname  string

Created     time.Time

}

beedb针对驼峰命名会自动帮你转化成下划线字段,例如你定义了Struct名字为UserInfo,那么转化成底层实现的时候是user_info,字段命名也遵循该规则。

插入数据

如何插入一条记录,可以看到我们操作的是strcut对象,而不是原生的sql语句,最后通过调用Save接口将数据保存到数据库。

var saveone Userinfo

saveone.Username = "Test AddUser"

saveone.Departname = "Test AddDepartname"saveone.Created = time.Now()

orm.Save(&saveone)

有疑问加站长微信联系(非本文作者)

beedb mysql_26.蛤蟆笔记go语言——beedb库使用相关推荐

  1. 3.笔记go语言——函数

    3.蛤蟆笔记go语言--函数 函数 函数可以没有参数或接受多个参数. add 接受两个 int 类型的参数. 代码 package main import "fmt" func a ...

  2. 易语言支持库制作学习笔记

    本文讲讲用VS2008制作易语言支持库(动态库和静态库)的具体方法和步骤. 这是我学习制作支持库时的学习笔记,贴出来分享下,也方便我以后查询. 时间仓促水平有限,不到之处还请各位高手们批评指正,以便完 ...

  3. 蛤蟆 Oracle,47.蛤蟆笔记go——go连接Oracle

    47.蛤蟆笔记go--go连接Oracle 在连接ORACLE数据库之前我们先来看下一个概念OCI. oci ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对 ...

  4. nltk和python的关系_NLTK学习笔记(一):语言处理和Python

    目录 nltk资料下载 import nltk nltk.download() 其中,download() 参数默认是all,可以在脚本里面加上nltk.download(需要的资料库) 来进行下载 ...

  5. 文本分析软件_读书笔记:伍多库卡茨质性文本分析:方法、实践与软件使用指南...

    读书笔记:伍多·库卡茨<质性文本分析:方法.实践与软件使用指南> 一.这篇文章.这本书或这篇论文的中心思想.核心观点是什么?核心观点:质性数据如何系统化分析?三大主要方法:主题分析.评估分 ...

  6. C语言学习笔记---001C语言的介绍,编译过程原理,工具等

    C语言学习笔记---001C语言的介绍,编译过程原理,工具等 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 技术交流平台:cre.i ...

  7. IOS学习笔记05---C语言程序的开发运行过程

    IOS学习笔记05---C语言程序的开发运行过程 0 5.C语言3-C语言程序的开发运行过程 ----------------------------------------------------- ...

  8. golang笔记15--go语言单任务版爬虫

    golang笔记15--go语言单任务版爬虫 1 介绍 2 单任务版爬虫 2.1 获得初始页面内容 2.2 正则表达式 2.3 提取城市和 url 2.4 单任务版爬虫的架构 2.5 Engine 与 ...

  9. 侯捷C++课程笔记03: STL标准库与泛型编程

    本笔记根据侯捷老师的课程整理而来:STL标准库与泛型编程 pdf版本笔记的下载地址: 笔记03_STL标准库与泛型编程,排版更美观一点(访问密码:3834) 侯捷C++课程笔记03: STL标准库与泛 ...

最新文章

  1. 算法分析结课总结--回溯算法
  2. 8 分钟了解 Kubernetes
  3. LeetCode43——Multiply Strings(两个字符串表示的整数相乘)???
  4. Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理
  5. python数据结构之字典(dict)——超详细
  6. Linux 2.6.19.x 内核编译配置选项简介
  7. STRESS测试分享
  8. 制作可被svchost调用的服务(下)
  9. 一起来玩U3D之场景转换+关卡选择
  10. 计算机视觉教程2-6:八大图像特效算法制作你的专属滤镜(附Python代码)
  11. rasp java tomcat_Java安全之JNI绕过RASP
  12. 帝国CMS(EmpireCMS) v7.5 后台XSS漏洞复现与原理分析
  13. gRPC详细入门教程,Golang/Python/PHP多语言讲解
  14. Hdu2022 多校训练(5) BBQ
  15. 汉谟塔C语言,巴别塔的故事
  16. GNSS 导航电文的解读
  17. 计算机 继续教育培训心得体会,继续教育学习心得体会范文(精选5篇)
  18. SAP ERP系统PP模块MRP运行参数说明
  19. json_encode 中文不转义 tp5
  20. python评分卡建模_Python实现半自动评分卡建模(附代码)

热门文章

  1. 云端服务器怎么维护,云端服务器怎么维护
  2. linux 下/proc/cpuinfo三级缓存,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  3. 【LeetCode】剑指 Offer 24. 反转链表
  4. Spring之AOP代理模式
  5. GC原理---对象可达判断
  6. 利用scrapy框架爬取动态加载的数据
  7. Hive函数:GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
  8. ECharts 经常会修改到的一些样式配置
  9. translucent 属性
  10. string 和 stringbuilder 的区别