当前位置: 首页 > news >正文

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库,需要gcc编译c代码。
  问题的解决办法:安装tdm-gcc或Mingw。(备注:本人安装的是tdm-gcc,下载地址:http://tdm-gcc.tdragon.net/download)

  beego框架连接及处理sqlite3数据库。

models/models.go

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

main.go

package main

import (
    "fmt"
    "github.com/astaxie/beego"
    "github.com/astaxie/beego/orm"
    "ormsqlite/models"

    _ "github.com/mattn/go-sqlite3"
    _ "ormsqlite/routers"
)

func init() {
    orm.RegisterDriver("sqlite", orm.DR_Sqlite)
    orm.RegisterDataBase("default", "sqlite3", "./datas/test.db")
    orm.RunSyncdb("default", false, true)
}

func main() {
    o := orm.NewOrm()
    o.Using("default")
    stu := new(models.Student)

    stu.Name = "bei"
    stu.Age = 25
    stu.Sex = "m"
    stu.Score = 88
    stu.Addr = "hunan.leiyang"

    fmt.Println(o.Insert(stu))
    beego.Run()
}

  查看sqlite_DB里的数据:

转载于:https://www.cnblogs.com/hezhixiong/p/4616743.html

相关文章:

  • 数据库的连接池
  • JavaWeb学习总结(五十一)——邮件的发送与接收原理
  • xml文件的读取
  • Java 反射机制(一)
  • fail-fast
  • UVA11212 EditingaBook ( IDA*搜索)
  • TreeMap的介绍
  • Treemap的应用
  • 《Effective C++》——条款04:确定对象使用前已先被初始化
  • Treemap的使用
  • 数组根据index拆分和查询下标
  • include指令和include动作的区别
  • sql-主键即自增长的设置及语法实现
  • android中的样式主题和国际化
  • sql-go的使用
  • 【剑指offer】让抽象问题具体化
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JavaScript 奇技淫巧
  • js继承的实现方法
  • JS题目及答案整理
  • Linux中的硬链接与软链接
  • MYSQL 的 IF 函数
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Twitter赢在开放,三年创造奇迹
  • 分享一份非常强势的Android面试题
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 如何胜任知名企业的商业数据分析师?
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 数组的操作
  • 新手搭建网站的主要流程
  • AI算硅基生命吗,为什么?
  • (2)nginx 安装、启停
  • (2015)JS ES6 必知的十个 特性
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (AngularJS)Angular 控制器之间通信初探
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (一)80c52学习之旅-起始篇
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)Mysql的优化设置
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .netcore如何运行环境安装到Linux服务器
  • /3GB和/USERVA开关
  • /etc/fstab 只读无法修改的解决办法
  • @JsonSerialize注解的使用
  • @KafkaListener注解详解(一)| 常用参数详解
  • @SpringBootApplication 包含的三个注解及其含义
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [BUG]Datax写入数据到psql报不能序列化特殊字符
  • [C++]C++基础知识概述
  • [CSS]CSS 的背景