推广 热搜: page  小红  红书  数据  论文  考试  数据分析  关键词  哪些  搜索 

go-frame框架学习笔记

   日期:2025-01-01     移动:https://sicmodule.kub2b.com/mobile/quote/17859.html

go-frame
https://github.com/gogf/gf
https://goframe.org/pages/viewpage.action?pageId=1114119
https://goframe.org/pages/viewpage.action?pageId=43391262
3个参考案例
https://github.com/goflyfox/gmanager
https://github.com/XiaobinZhao/my-gf
https://github.com/gogf/focus-single

1、定义数据结构,在数据库建表,配置config.yaml数据库、gf cli配置(另外建个目录放)

  • created_at、updated_at、deleted_at 有这几个字段时,启动时间记录和软删除
  • 字段名 不区分大小写,也会忽略特殊字符
  • 加上Unscoped()时忽略自动时间更新特性

2、使用生成 dao/do/entity

  • 一般生成的内容不需要、也尽量不去修改,避免下次生成覆盖
  • 目前了解到如果需要配置orm模型关联需要修改

3、在api/controller/service,model里的inputModel和outputModel等处写业务代码

新增

Insert:使用INSERT INTO语句进行数据库写入,如果写入的数据中存在主键或者唯一索引时,返回失败,否则写入一条新数据
InsertIgnore:用于写入数据时如果写入的数据中存在主键或者唯一索引时,忽略错误继续执行写入
InsertAndGetId:用于写入数据时并直接返回自增字段的ID

 

更新

Update用于数据的更新,往往需要结合Data及Where方法共同使用
注意,更新一般都需要使用事务来控制

 

删除

Delete方法用于数据的删除。

 

查询及结果处理

条件查询

 

All 用于查询并返回多条记录的列表/数组。

 

用struct或[]struct接收orm查询返回结果的映射规则

  • struct中需要匹配的属性必须为公开属性(首字母大写)
  • 记录结果中键名会自动按照 不区分大小写 且 忽略-/_/空格符号 的形式与struct属性进行匹配
  • 如果匹配成功,那么将键值赋值给属性,如果无法匹配,那么忽略该键值
 

返回结果判断及处理:直接判断返回的数据是否为nil或者长度为0,或者使用IsEmpty/IsNil方法

 
 

发布静态资源

 

配置swagger-ui

引入swagger-ui资源

 

注册路由,和gf自带的redoc路由/swagger错开,否则会被覆盖

本文地址:https://sicmodule.kub2b.com/quote/17859.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号