# beego orm
[![Build Status](https://drone.io/github.com/astaxie/beego/status.png)](https://drone.io/github.com/astaxie/beego/latest)
A powerful orm framework for go.
It is heavily influenced by Django ORM, SQLAlchemy.
**Support Database:**
* MySQL: [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
* PostgreSQL: [github.com/lib/pq](https://github.com/lib/pq)
* Sqlite3: [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
Passed all test, but need more feedback.
**Features:**
* full go type support
* easy for usage, simple CRUD operation
* auto join with relation table
* cross DataBase compatible query
* Raw SQL query / mapper without orm model
* full test keep stable and strong
more features please read the docs
**Install:**
go get github.com/astaxie/beego/orm
## Changelog
* 2013-08-19: support table auto create
* 2013-08-13: update test for database types
* 2013-08-13: go type support, such as int8, uint8, byte, rune
* 2013-08-13: date / datetime timezone support very well
## Quick Start
#### Simple Usage
```go
package main
import (
"fmt"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql" // import your used driver
)
// Model Struct
type User struct {
Id int `orm:"auto"`
Name string `orm:"size(100)"`
}
func init() {
// register model
orm.RegisterModel(new(User))
// set default database
orm.RegisterDataBase("default", "mysql", "root:root@/my_db?charset=utf8", 30)
// create table
orm.RunSyncdb("default", false, true)
}
func main() {
o := orm.NewOrm()
user := User{Name: "slene"}
// insert
id, err := o.Insert(&user)
// update
user.Name = "astaxie"
num, err := o.Update(&user)
// read one
u := User{Id: user.Id}
err = o.Read(&u)
// delete
num, err = o.Delete(&u)
}
```
#### Next with relation
```go
type Post struct {
Id int `orm:"auto"`
Title string `orm:"size(100)"`
User *User `orm:"rel(fk)"`
}
var posts []*Post
qs := o.QueryTable("post")
num, err := qs.Filter("User__Name", "slene").All(&posts)
```
#### Use Raw sql
If you don't like ORM,use Raw SQL to query / mapping without ORM setting
```go
var maps []Params
num, err := o.Raw("SELECT id FROM user WHERE name = ?", "slene").Values(&maps)
if num > 0 {
fmt.Println(maps[0]["id"])
}
```
#### Transaction
```go
o.Begin()
...
user := User{Name: "slene"}
id, err := o.Insert(&user)
if err == nil {
o.Commit()
} else {
o.Rollback()
}
```
#### Debug Log Queries
In development env, you can simple use
```go
func main() {
orm.Debug = true
...
```
enable log queries.
output include all queries, such as exec / prepare / transaction.
like this:
```go
[ORM] - 2013-08-09 13:18:16 - [Queries/default] - [ db.Exec / 0.4ms] - [INSERT INTO `user` (`name`) VALUES (?)] - `slene`
...
```
note: not recommend use this in product env.
## Docs
more details and examples in docs and test
[documents](http://beego.me/docs/mvc/model/overview.md)
没有合适的资源?快使用搜索试试~ 我知道了~
基于go语言的跨平台分布式游戏服务器架构.zip
共190个文件
go:159个
bat:11个
json:6个
需积分: 5 0 下载量 190 浏览量
2024-05-23
17:16:38
上传
评论
收藏 257KB ZIP 举报
温馨提示
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
资源推荐
资源详情
资源评论
收起资源包目录
基于go语言的跨平台分布式游戏服务器架构.zip (190个子文件)
kill.bat 253B
kill.bat 250B
run.bat 222B
run_by_conf.bat 193B
run.bat 188B
build.bat 142B
build.bat 124B
create_slg_db.bat 66B
run_slg.bat 59B
create_db.bat 57B
build_slg.bat 35B
.gitignore 386B
orm_test.go 69KB
db.go 45KB
log.pb.go 22KB
orm_raw.go 19KB
types.go 18KB
models_fields.go 18KB
log_project.go 17KB
log.go 15KB
orm.go 14KB
models_info_f.go 12KB
playerdata.go 11KB
models_test.go 11KB
file_test.go 11KB
file.go 10KB
db_tables.go 10KB
models_boot.go 9KB
db_alias.go 9KB
connection.go 8KB
cmd_utils.go 8KB
orm_queryset.go 7KB
utils.go 7KB
timewheel.go 7KB
gate.go 7KB
cmd.go 6KB
log_store.go 6KB
orm_log.go 6KB
models_utils.go 6KB
msghandler.go 5KB
gateserver.go 5KB
db_postgres.go 5KB
qb_mysql.go 5KB
enter.go 5KB
db_mysql.go 5KB
qb_tidb.go 5KB
server.go 5KB
xlsxmgr.go 5KB
logger.go 4KB
wsconnection.go 4KB
db_utils.go 4KB
orm_conds.go 4KB
enter.go 4KB
db_sqlite.go 4KB
xlsx.go 4KB
smtp.go 4KB
orm_querym2m.go 4KB
db_oracle.go 4KB
timerscheduler.go 4KB
models_info_m.go 3KB
masterclient.go 3KB
alils.go 3KB
mainlogic.go 3KB
worldmap.go 3KB
multifile.go 3KB
datapack.go 3KB
sessionmgr.go 3KB
createrole.go 3KB
scenebase.go 3KB
playermgr.go 3KB
session.go 3KB
sts.go 3KB
sts.go 3KB
client.go 3KB
sts.go 3KB
console.go 3KB
conn.go 3KB
maincity.go 2KB
models.go 2KB
timer.go 2KB
accesslog.go 2KB
gaterouter.go 2KB
signature.go 2KB
connmanager.go 2KB
timewheel_test.go 2KB
orm_object.go 2KB
general.go 2KB
qb.go 2KB
enter.go 2KB
servermgr.go 2KB
utils_test.go 2KB
loginclient.go 2KB
machine_group.go 2KB
online.go 2KB
multifile_test.go 2KB
db_tidb.go 2KB
proto.go 2KB
citymgr.go 2KB
message.go 2KB
sts.go 1KB
共 190 条
- 1
- 2
资源评论
生瓜蛋子
- 粉丝: 3917
- 资源: 7441
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- json的合法基色来自红包东i请各位
- 项目采用YOLO V4算法模型进行目标检测,使用Deep SORT目标跟踪算法 .zip
- 针对实时视频流和静态图像实现的对象检测和跟踪算法 .zip
- 部署 yolox 算法使用 deepstream.zip
- 基于webmagic、springboot和mybatis的MagicToe Java爬虫设计源码
- 通过实时流协议 (RTSP) 使用 Yolo、OpenCV 和 Python 进行深度学习的对象检测.zip
- 基于Python和HTML的tb商品列表查询分析设计源码
- 基于国民技术RT-THREAD的MULTInstrument多功能电子测量仪器设计源码
- 基于Java技术的网络报修平台后端设计源码
- 基于Python的美食杰中华菜系数据挖掘与分析设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功