【Go语言】Faygo框架下的数据库操作
2020-01-15 10:36
1446 查看
假设我们的数据结构是下面这样的
[code]type Goods struct {
[code] Id int64 `json:"id"`
[code] GoodsId int64 `json:"goods_id"`
[code] GoodsName string `json:"goods_name"`
[code] Price int64 `json:"price"`
[code] CreateTime time.Time `json:"create_time"`
[code] UpdateTime time.Time `json:"create_time"`
[code] IsDeleted int `json:"-"`
[code]}
一、新增数据
- 新增数据时,首先要检查数据库中是否已经存在你要插入的数据,可用Exist检查,代码如下:
[code]engine := db.GetEngine()
[code]has, err := engine.Exist(&Goods{
[code] GoodsId: "11011",
[code]})
- 如果数据库已有该数据(即:has==true),就直接返回“该条记录已存在”
[code]if has {
[code] return ierror.NewError(201, "该条记录已存在")
[code]}
- 如果数据库中不存在该数据(即:has==false),使用Insert插入新数据
[code]var goods Goods
[code]goods = Goods{
[code] GoodsId: goodsId,
[code] Price: price,
[code] CreateTime: time.Now(),
[code] UpdateTime: time.Now(),
[code] IsDeleted: 0,
[code]}
[code]_, err = engine.Insert(&goods)
二、修改数据
- 修改数据时,同样首先要判断数据库中是否有该数据,判断方法同新增数据的第一步
- 如果数据库中没有该数据,直接返回“该条记录不存在”
[code]if !has {
[code] return ierror.NewError(201, "该条记录不存在")
[code]}
- 如果数据库中存在该数据,使用Update进行更新
[code]举例:update goods表 set price=168 where goods_id = 11011
[code]var goods Goods
[code]goods = Goods{
[code] Price: "168",
[code] UpdateTime: time.Now(),
[code]}
[code]_, err = engine.Where(builder.Eq{
[code] "goods_id": "11011",
[code]}).Update(&goods)
三、删除数据
- 删除数据一般都是软删除,基本和修改数据没区别,不做累述
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Go实战--go语言操作PostgreSQL数据库(github.com/lib/pq)
- go语言:数据库操作之MySql
- Linux下Redis数据库安装使用及Go语言操作Redis
- ZF框架 操作数据库报“The mysql driver is not currently installed”错
- golang实战使用gin+xorm搭建go语言web框架restgo详解5.6 控制器参数校验
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法
- Java -- 数据库 多表操作,1对多,多对多,1对1。 基于dbutils框架
- Go实战--go语言操作MySQL数据库(go-sql-driver/mysql)
- awesome-go:一个很全的go语言框架,库,软件合集
- 安卓中引入GreenDAO数据库框架,包括封装好的数据库操作工具类
- Laravel框架数据库CURD操作、连贯操作总结
- Java操作数据库的三种方式(原生jdbc,JdbcTemplate,数据层框架)
- 在Java的Hibernate框架中对数据库数据进行查询操作
- Java语言JDBC数据库连接操作
- php操作数据库及简单数据库语言
- Laravel框架数据库CURD操作、连贯操作使用方法
- Laravel框架数据库CURD操作、连贯操作
- go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )
- GoWeb开发_Iris框架讲解(四):Iris框架设置操作
- (柯昌合)Android Sqlite 持久化框架。类似于hibernate的sqlite框架。不用写SQL语句,操作数据库