beego框架之orm模块——PostgreSQL

  beego框架默认支持三种数据库类型(MySQL,Sqlite,PostgreSQL)。这三种数据库的配置虽然大同小异,但也有各自的差别。如今该总结下了。

  以下是基于beego框架对PostgreSQL数据库进行操作。

models/models.go

 1 package models
 2
 3 import (
 4     "github.com/astaxie/beego/orm"
 5 )
 6
 7 type Student struct {
 8     Id   int64
 9     Name string
10     Age  int
11 }
12
13 func init() {
14     orm.RegisterModel(new(Student))
15 }

main.go

 1 package main
 2
 3 import (
 4     "fmt"
 5     "github.com/astaxie/beego"
 6     "github.com/astaxie/beego/orm"
 7     "postgresql/models"
 8
 9     _ "github.com/lib/pq"
10     _ "postgresql/routers"
11 )
12
13 func init() {
14     // PostgreSQL 配置
15     orm.RegisterDriver("postgres", orm.DR_Postgres) // 注册驱动
16     orm.RegisterDataBase("default", "postgres", "user=postgres password=tom dbname=test host=127.0.0.1 port=5432 sslmode=disable")
17
18     /**
19      * MySQL 配置
20      * 注册驱动
21      * orm.RegisterDriver("mysql", orm.DR_MySQL)
22      * mysql用户:root ,root的秘密:tom , 数据库名称:test , 数据库别名:default
23      * orm.RegisterDataBase("default", "mysql", "root:[email protected]/test?charset=utf8")
24      */
25      /**
26      * Sqlite 配置
27      * 注册驱动
28      * orm.RegisterDriver("sqlite", orm.DR_Sqlite)
29      * 数据库存放位置:./datas/test.db , 数据库别名:default
30      * orm.RegisterDataBase("default", "sqlite3", "./datas/test.db")
31      */
32     // 自动建表
33     orm.RunSyncdb("default", false, true)
34 }
35
36 func main() {
37     orm.Debug = true
38     o := orm.NewOrm()
39     o.Using("default")
40     stu := new(models.Student)
41     stu.Name = "tom"
42     stu.Age = 25
43
44     fmt.Println(o.Insert(stu))
45     beego.Run()
46 }

PostgreSQL数据库里自动建表和插入数据库如下:

  

时间: 2024-08-01 20:57:24

beego框架之orm模块——PostgreSQL的相关文章

beego框架之orm模块

参考beego原文:http://beego.me/docs/mvc/model/orm.md#main.go beego ORM 是一个强大的 Go 语言 ORM 框架,orm模块主要是处理MVC中的M(models). 首先以bee工具创建一工程名为:beegoorm,修改的文件为 beegoorm/main.go 和 beegoorm/models/models.go(仅2个文件) beegoorm/models/models.go package models import ( "git

beego框架之orm模块——sqlite

今天基于beego ORM演示sqlite3数据库时,遇到了一小问题. 问题现象1:下载go-sqlite3(go get github.com/mattn/go-sqlite3)驱动时报错说 gcc 不在 PATH 目录里. 问题现象2:运行导入了go-sqlite3驱动的文件时编译报错说 gcc 不在 PATH 目录里. 问题发生的原因:sqlitle3是个cgo库,需要gcd编译c代码. 问题的解决办法:安装tdm-gcc或Mingw.(备注:本人安装的是tdm-gcc,下载地址:http

beego框架之日志模块

参考beego开发文档:http://beego.me/docs/module/logs.md beego框架之日志模块默认支持4种记录方式: 1. 终端输出(console) :这种方式一般用在开发环境下面,方便调试. 2. 本地文件(file)       :这种方式一般用来保存常规日志,为生产环境中常用的方式. 3. 网络方式(network):这种方式可以用来将日志发送到指定服务器,一般可以用来根据日志触发事件等. 4. 发送邮件(email)   :这种方式一般是将生产环境下比较重要的

Spring之ORM模块

ORM模块对Hibernate.JDO.TopLinkiBatis等ORM框架提供支持 ORM模块依赖于dom4j.jar.antlr.jar等包 在Spring里,Hibernate的资源要交给Spring管理,Hibernate以及其SessionFactory等知识Spring一个特殊的Bean,有Spring负责实例化与销毁.因此DAO层只需要继承HibernateDaoSupport,而不需要与Hibernate的API打交道,不需要开启.关闭Hibernate的Session.Tra

视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库

说好的给园子里的朋友们录制与<ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库> 这篇博客相对应的视频,由于一个月一来没有时间录制,今天我兑现了给朋友们的承诺.. 本次视频教程的目录为 视频.代码.资料,其中视频有4段,资料是我收集的相关资料.. 视频下载地址:http://pan.baidu.com/s/1c05sysC 希望大家多多支持... 郝喜路 2014年6月8日 11:11:02   http://haoxilu.cn

四 Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

Django框架,models.py模块,数据库操作--创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, oracle,postgresql数据库. 1,django默认使用sqlite的数据库,默认自带sqlite的数据库驱动   引擎名称:django.db.backends.sqlite3 在全局配置文件settings.py可以看到确认配置使用的sqlite数据库 # Database # h

golang的beego框架开发时出现的问题纪录

golang的beego框架开发时出现的问题纪录1.数据库并发时问题:[ORM]2017/02/20 23:44:05 -[Queries/default] - [FAIL / db.Query / 15.9ms] - [SELECT mp_wx_account.app_id, mp_wx_account.app_secret FROM mp_wx_develop INNER JOIN mp_wx_account ON mp_wx_account.app_id = mp_wx_develop.a

Go beego框架使用笔记(一)

Beego介绍 beego我认为是go初学者比较容易上手的一门MVC Web框架.简单易懂,最重要的一点就是提供了中文文档,这对于我这种英语能力比较差的人来说就是福音. beego的官网上是这么介绍beego的:"beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado.sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface.st

Beego 框架学习(一)

Beego官网本身已经整理的非常详细了,但是作为一个学习者,我还是决定自己好好整理一下,这样在后面使用的时候自己对每部分才能非常熟悉,即使忘记了,也可以迅速定位自己要用的知识在哪里.当然也是对官网的一个精简整理,同时结合一些例子,更好的理解和学习Beego Beego官网地址:https://beego.me 这次整理也是一个初步的整理,正好在这个之后把之前通过net/http实现的短url项目通过beego框架实现一遍 Beego的安装 go get github.com/astaxie/be