beego orm 操作(sqlite)
继续对beego的学习,之前对beego的安装和简单的http请求有了一个大致的了解,接下来就是对数据库的一些操作。
首先我们先定义一个models,在文件夹/models下定义models.go,具体代码如下:
|
|
这里定义了一个struct,里面有两个成员变量,一个是Id,自增长,还有个是名字Name。
好,现在我们得对main.go进行一下改造,需要在初始化的时候去注册db并创建db表,假如已经存在表了,我们需要不重复创建。
|
|
这样子我们就创建了一个叫做data.db的sqlite数据库文件。
我们可以先run一下server并查看db是否创建成功,并多次启动server看看db是否是只创建一次,cd到$GOPATH/src/project目录下,运行bee run
我们可以看到这里将创建表的过程进行了打印,然后我们会在$GOPATH/src/project目录下看到一个data.db文件,nice,数据库文件创建好了!
接下来我们需要往db里头插入一些数据,更新一些数据,根据条件查询等操作,就是我们常说的增删查改。
我们先对Routue.go文件先做一下修改:
|
|
为了做个testcase,我们对之前的testcontroller.go文件做一下简单的修改。
|
|
OK,代码的简单改造已经完成,现在让我们来看看效果吧!
请求localhost:8080/test 插入一条数据
看红色线条块,我们插入了一个Id=12的数据
请求localhost:8080/test/12 查询Id=12的数据
没有问题,那么假设查询的是个Id=999,就是db中木有的数据会发生什么呢?我们测试下,请求localhost:8080/test/999
我们从这可以看到err被捕获并通过相应的处理json进行了返回。
我们试试更新,请求localhost:8080/test/12/tang 更新Id=12的数据将name重新赋值为tang,并将重新获取Id=12的数据将数据用json返回
我们看到更新成功了~!
下面是完整的工程地址:
https://github.com/bartontang/beego_orm_test