golang学习之beego增删改查代码实现
记录下使用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增删改查代码实现的更多相关文章
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- java DMO及增删改查代码的自动生成
在web开发过程中,尤其是后台管理系统的开发中,少不了增删改成的基础操作,原来我自己的做法是一份一份的拷贝粘贴,然后修改其中的不同,然而这样既枯燥无味又浪费了大量的时间,所以根据自己项目结构的特点写了 ...
- 最简单的jsp+servlet的增删改查代码
package ceet.ac.cn.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...
- EF学习笔记——通用增删改查方案
http://blog.csdn.net/leftfist/article/details/25005307 我刚接触EF未久,还不知道它有什么强大之处,但看上去,EF提供了一般的增删改查功能.以往用 ...
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htm ASP.NET从零开始学习EF的增删改查
http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htmlASP.NET从零开始学习EF的增删改查
- MyBatis学习--简单的增删改查
jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...
- Android学习---数据库的增删改查(sqlite CRUD)
上一篇文章介绍了sqlite数据库的创建,以及数据的访问,本文将主要介绍数据库的增删改查. 下面直接看代码: MyDBHelper.java(创建数据库,添加一列phone) package com. ...
- 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查
本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...
随机推荐
- HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting
Brute Force Sorting Time Limit: 1 Sec Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...
- Weekly Contest 121
984. String Without AAA or BBB Given two integers A and B, return any string S such that: S has leng ...
- iOS tableview性能优化及分析
1.最常用的就是cell的重用, 注册重用标识符 每次滑动cell时需要先去缓存池中寻找可循环利用的cell,如果没有则再重新创建cell 2.减少cell中控件的数量 view对象尽量缩减控件的数量 ...
- vue-cli起的webpack项目 用localhost可以访问,但是切换到ip就不可以访问
我用的是vux起的一个项目(移动端,基于vue的),因为是移动端的,需要在手机上测试,发现用http://localhost:8081/访问的挺好的,但是换到ip就访问不了,期初我以为是代理的原因,将 ...
- Django中的CSRF(跨站请求伪造)
Django中的CSRF(跨站请求伪造) Django CSRF 什么是CSFR 即跨站请求伪装,就是通常所说的钓鱼网站. 钓鱼网站的页面和正经网站的页面对浏览器来说有什么区别? (页面是怎么来的? ...
- Python中的正斜杠/与反斜杠\
知识点: 1. "/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠 2. 对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠\. ...
- SQL多字段排序
emm 其实也没什么 就是写sql查询的时候 要对多个字段排序比如 查询原本的数据是 年份 科目 批次 2014 理科 本二2015 理科 本二 2015 理科 本一2016 理科 本二 2016 ...
- android 微信 SDK 分享
1.资源依赖: https://open.weixin.qq.com/cgi-bin/showdocument?action=doc&id=open1419319167&t=0.613 ...
- grep练习
1.查找特定字符串 [root@server3 mnt]# cat passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/no ...
- Python学习 day13
一.可迭代对象和迭代器 1.回顾可以被for循环的对象 list.dic.str.set.tuple.文件句柄f.range().enumerate() 只有可迭代对象才能被for循环,当我们遇到一个 ...