记录下使用beego的增删改查实现,数据库使用mysql,完整代码如下:

package main

import (
_ "crud_beego/routers" //自动注册路由
"fmt"
"github.com/astaxie/beego"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
) const (
DRIVER_NAME = "mysql"
DATA_SOURCE = "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8&loc=Asia%2FShanghai"
MAX_IDLE_CONN = 5
MAX_OPEN_CONN = 30
) type User struct {
Id int
Name string
Email string
Age int
isActive bool
} func (u *User) TableName() string {
return "t_user"
} func registerDB() {
orm.Debug = true
orm.RegisterDataBase("default", DRIVER_NAME, DATA_SOURCE, MAX_IDLE_CONN, MAX_OPEN_CONN)
orm.RegisterModel(new(User))
} func (this User) ToString() string {
return fmt.Sprintf("Id:%d\tName:%s\tEmail:%s\tAge:%d\tisActive:%v", this.Id, this.Name, this.Email, this.Age, this.isActive)
} func createUsers() {
users := []User{
User{Name: "adadmin1", Email: "14199@111.com", Age: 12},
User{Name: "adadmin1", Email: "14199@111.com", Age: 12},
User{Name: "adadmin1", Email: "14199@111.com", Age: 12},
User{Name: "adadmin1", Email: "14199@111.com", Age: 12},
User{Name: "adadmin1", Email: "14199@111.com", Age: 12},
User{Name: "adadmin1", Email: "14199@111.com", Age: 12},
User{Name: "adadmin1", Email: "14199@111.com", Age: 12},
}
o := orm.NewOrm()
if successNums, err := o.InsertMulti(len(users), users); err != nil {
fmt.Println("insert fail.....")
} else {
fmt.Println("success inserted %d datas", successNums)
}
} //find all users
func listUsers() {
var users []User
orm.NewOrm().QueryTable("t_user").All(&users)
for _, user := range users {
fmt.Println(user.ToString())
}
} //get user count
func countUser() {
cnt, _ := orm.NewOrm().QueryTable("t_user").Count()
fmt.Println("All user count:", cnt)
} //get the only one user
func getUser() {
var user User
err := orm.NewOrm().QueryTable("t_user").Filter("Id", 5).One(&user)
if err == nil {
fmt.Println(user.ToString())
}
} //get the only one user
func getUsers() {
var users []User
_, err := orm.NewOrm().QueryTable("t_user").Filter("name__contains", "awd").All(&users)
if err == nil {
for _, user := range users {
fmt.Println(user.ToString())
}
}
} //get limit user
func limitUser() {
var users []User
_, err := orm.NewOrm().QueryTable("t_user").Limit(6).OrderBy("-Name").All(&users)
if err == nil {
for _, user := range users {
fmt.Println(user.ToString())
}
}
} //get user limit,offset
func limitoffsetUser() {
var users []User
_, err := orm.NewOrm().QueryTable("t_user").Limit(1, 4).OrderBy("Id").All(&users)
if err == nil {
for _, user := range users {
fmt.Println(user.ToString())
}
}
} //del user
func delUser() {
num, err := orm.NewOrm().QueryTable("t_user").Filter("Id", "5").Delete()
fmt.Printf("Affected Num: %s, %s", num, err)
} //update user
func updateUser() {
num, err := orm.NewOrm().QueryTable("t_user").Filter("name__contains", "awd").Update(orm.Params{
"name": "#########",
})
fmt.Printf("Affected Num: %s, %s", num, err)
} func main() {
registerDB()
createUsers()
listUsers()
countUser()
getUser()
getUsers()
limitoffsetUser()
delUser()
updateUser()
beego.Run()
}

golang学习之beego增删改查代码实现的更多相关文章

  1. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  2. java DMO及增删改查代码的自动生成

    在web开发过程中,尤其是后台管理系统的开发中,少不了增删改成的基础操作,原来我自己的做法是一份一份的拷贝粘贴,然后修改其中的不同,然而这样既枯燥无味又浪费了大量的时间,所以根据自己项目结构的特点写了 ...

  3. 最简单的jsp+servlet的增删改查代码

    package ceet.ac.cn.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...

  4. EF学习笔记——通用增删改查方案

    http://blog.csdn.net/leftfist/article/details/25005307 我刚接触EF未久,还不知道它有什么强大之处,但看上去,EF提供了一般的增删改查功能.以往用 ...

  5. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  6. http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htm ASP.NET从零开始学习EF的增删改查

    http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htmlASP.NET从零开始学习EF的增删改查

  7. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

  8. Android学习---数据库的增删改查(sqlite CRUD)

    上一篇文章介绍了sqlite数据库的创建,以及数据的访问,本文将主要介绍数据库的增删改查. 下面直接看代码: MyDBHelper.java(创建数据库,添加一列phone) package com. ...

  9. 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查

    本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...

随机推荐

  1. mysql 命令备份还原

    备份 mysqldump -h localhost -uroot -p123456 springbootdb > e:/springbootdb.sql 还原 mysql -h localhos ...

  2. 初学python - 脚本文件

    解析:   第一行 #!/usr/bin/env python - py脚本运行环境[用python解释器解释脚本文件-对应python安装路径] 第二行 #-*-coding:utf-8-*- - ...

  3. Windows 下目录切换以及挂载小技巧

    Windows 下目录切换以及挂载小技巧 一.前言: 作为几年的 Linux 老用户,再购买了一款新的本本只支持 Windows(主要是Linux下的驱动)操作系统后,加之发现 Windows 提供 ...

  4. Vim寄存器

    (cut && copy && paste) VS ( delete && yank && put ) "" 无名寄 ...

  5. iOS核心动画之视觉效果

    圆角 cornerRadius确定圆角的大小 masksToBounds确定要不要裁减圆角以外的界面 图层边框 borderWidth 边框的粗细,point是衡量值. borderColor 边框的 ...

  6. 二叉树的遍历python 代码

    __author__ = "WSX" class Node: def __init__(self, val = None, left = None, right = None): ...

  7. git恢复到上次提交

    4个区 5种状态 未修改(Origin) 已修改(Modified) 已暂存(Staged) 已提交(Committed) 已推送(Pushed) 检查修改 已修改,未暂存(检查工作区与暂存区间的差异 ...

  8. Q678 有效的括号字符串

    给定一个只包含三种字符的字符串:(,) 和 *,写一个函数来检验这个字符串是否为有效字符串.有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 ). 任何右括号 ) 必须有相应的左括号 ( ...

  9. 论文阅读 | CenterNet:Object Detection with Keypoint Triplets

    相关链接 论文地址:https://arxiv.org/abs/1904.08189 代码链接:https://github.com/Duankaiwen/CenterNet 概述 CenterNet ...

  10. Mongodb利用aggregation实现抽样查询(按记录数和时间)

    之前对mongodb不熟,但是项目要用,因为数据量比较大,并且领导要实现抽样查询,控制数据流量,所以自己研究了下,亲测可用,分享一下! 话不多说,上代码: 第一种方案:加自增主键,实现按记录数抽样 1 ...