一直都不理解使用go语言的时候,为什么还要自己去装beego,以为使用go便可以解决所有的问题,结果在朋友的点拨下,才意识到:

go与beego的关系就好比是nodejs与thinkjs的关系,因此也就不怎么存在疑问为什么还要继续安装beego来完成项目运行了,beego其实就是一个快速开发Go应用的http框架,go 语言方面技术大牛,可以用来快速开发API、Web、后端服务等各种应用,是一个RESTFul的框架。再次附上beego的官网(http://beego.me/docs/intro/)

接着开始我们的数据库“增删改查”操作吧!

1.golang本身没有提供连接MySQL的驱动,但是定义了标准接口供第三方开发驱动。这里连接mysql可以使用第三方库,第三方库推荐使用https://github.com/Go-SQL-Driver/MySQL这个驱动,更新维护都比较好;先要下载驱动,在cmd中执行

go get github.com/go-sql-driver/mysql

2.创建测试数据库(我们一直在用的Navicat,就用它做例子)

CREATE DATABASE golang;
CREATE TABLE IF NOT EXISTS `golang`.`user` (
`userid` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户编号',
`username` VARCHAR(45) NOT NULL COMMENT '用户名称',
`userage` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户年龄',
`usersex` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户性别',
PRIMARY KEY (`userid`))
ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci
COMMENT = '用户表'

3.连接数据库:数据库连接使用datebase/sql Open函数进行连接

db, err := sql.Open("mysql", "user:password@tcp(localhost:5555)/dbname?charset=utf8")
其中连接参数可以有如下几种形式:
user@unix(/path/to/socket)/dbname?charset=utf8
user:password@tcp(localhost:5555)/dbname?charset=utf8
user:password@/dbname
user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname

一般,大家都使用第二种。

4.在liteIDE中写程序,完整代码如下:

package main

import (
_ "crud/routers"
"database/sql"
"fmt" _ "github.com/go-sql-driver/mysql"
) func main() {
query()
} //增加数据
func insert() {
db, err := sql.Open("mysql", "root:root@/golang?charset=utf8")
checkErr(err) stmt, err := db.Prepare(`INSERT user (userid,username,userage,usersex) values (?,?,?,?)`)
checkErr(err)
res, err := stmt.Exec(1, "Mary", 20, 1)
checkErr(err)
id, err := res.LastInsertId()
checkErr(err)
fmt.Println(id)
} //删除数据
func remove() {
db, err := sql.Open("mysql", "root:root@/golang?charset=utf8")
checkErr(err) stmt, err := db.Prepare(`DELETE FROM user WHERE userid=?`)
checkErr(err)
res, err := stmt.Exec(1)
checkErr(err)
num, err := res.RowsAffected()
checkErr(err)
fmt.Println(num)
} //更新数据
func update() {
db, err := sql.Open("mysql", "root:root@/golang?charset=utf8")
checkErr(err) stmt, err := db.Prepare(`UPDATE user SET userage=?,usersex=? WHERE userid=?`)
checkErr(err)
res, err := stmt.Exec(21, 2, 2)
checkErr(err)
num, err := res.RowsAffected()
checkErr(err)
fmt.Println(num)
} //查询数据
func query() {
db, err := sql.Open("mysql", "root:root@/golang?charset=utf8")
checkErr(err) rows, err := db.Query("SELECT * FROM user")
checkErr(err) // //普通demo
for rows.Next() {
var userid int
var username string
var userage int
var usersex int rows.Columns()
err = rows.Scan(&userid, &username, &userage, &usersex)
checkErr(err) fmt.Println(userid)
fmt.Println(username)
fmt.Println(userage)
fmt.Println(usersex)
}
}
func checkErr(err error) {
if err != nil {
panic(err)
} }

于是就在这个表里进行增删改查了……

我并没有使用beego中的orm框架,是因为刚开始在看的时候忽略了orm。。。。。。。有点小疏忽,,,明天再研究。

go——beego的数据库增删改查的更多相关文章

  1. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  2. 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查

    一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...

  3. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

  4. Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  5. WindowsPhone8 数据库增删改查

    今天第一次在博客园发表文章,如果有的地方写的不对,还请大家指出! 1.这就是一个简单wp8数据库增删改查 1.创建数据表Person [Table] public class Person : INo ...

  6. MVC——数据库增删改查(Razor)——Html语法

    一.显示界面 .Models(模板) private MyDBDataContext _context = new MyDBDataContext(); public List<Info> ...

  7. MVC——数据库增删改查(Razor)

    一.显示信息 .Models(模板) private MyDBDataContext _context = new MyDBDataContext(); //定义一个变量取出所有数据 public L ...

  8. MVC——数据库增删改查(aspx)

    MVC: V(View) :视图→就是页面的模板 C(Control): 控制器→客户主要面对的就是控制器, M(Model):模板→在模板里面主要就是写关于数据库的各种增删改查的方法 它们之间的关系 ...

  9. Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)

    接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1.首先项目图: 2.这里的布局文件activity_main.xml: <LinearLayout xmlns:android ...

随机推荐

  1. Python-爬虫初学

    #爬取网站中的图片 1 import re #正则表达式库 import urllib #url链接库 def getHtml(url): page = urllib.urlopen(url) #打开 ...

  2. Zeller公式推导及C#代码示例(待完善)

    Zeller公式用于计算给定日期是星期几. 该方法可以用数论知识进行证明. 假设给定日期Date为Year-Month-Day,求解该日期是星期几的问题实际上就是以之前某个确定星期几的日期作为参考点, ...

  3. 转载java源代码阅读方法

    刚才在论坛不经意间,看到有关源码阅读的),不禁又有一种激动. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言 ...

  4. Timer 实现2秒4秒连环炸

    package com.cn.gbx; import java.util.Date; import java.util.Timer; import java.util.TimerTask; //cla ...

  5. MySql 去重且指定某字段在前的排序方法

    今天遇到一个棘手的数据查找并去重的问题: 情况: 1.取出数据库中的数据: 2.同一字段A,不同情况<值,如A值为:a1,a2>下取出的其他数据可能相同: 3.将2情况下的重复数据< ...

  6. ajax 、ajax的交互模型、如何解决跨域问题

    1.ajax是什么? — AJAX全称为“AsynchronousJavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术. — 不是一种新技 ...

  7. MVC中Html.Listbox的用法实例

    要绑定listbox或dropdownlist前提是:必须是SelectItem类,例如: 因为Html.ListBox第二个绑定数据的参数要得类型为SelectList第一种:因为listbox可以 ...

  8. hibernate mysql写入中文乱码 解决

    启动hibernate项目,自动创建表,插入数据之后发现写入表里的数据里的中文是乱码.按如下方法解决了: 修改数据库的字符集为UTF-8,这个可以通过mysql的客户端软件里右键要修改的数据库的属性更 ...

  9. JavaWeb 4 XML

    4 XML 1 XML入门        1.1 引入        HTML: 负责网页的结构            CSS: 负责网页的样式(美观)        Javascript: 负责在浏 ...

  10. hdu 1575 Tr A(矩阵快速幂)

    今天做的第二道矩阵快速幂题,因为是初次接触,各种奇葩错误整整调试了一下午.废话不说,入正题.该题应该属于矩阵快速幂的裸题了吧,知道快速幂原理(二进制迭代法,非递归版)后,剩下的只是处理矩阵乘法的功夫了 ...