Count() 入参类型变化

V1 : Count(int)
V2: Count(int64)

Limt()\Offset()

入参类型由 interface{} -> int

Order

v1: 参数为空字符串会被忽略,从而正常执行: Order("") 生成的sql中不带order by
v2: 空字符串也会被生成 order by 语句,从而导致 sql 执行失败。需要自行判空

Find

在 V1 版本中, Find(&User{}) 当记录不存在时会返回 ErrRecordNotFound
在 V2 版本中,Find(&User{}) 不会返回 ErrRecordNotFound

查询条件复用

V1示例:

query := db.Where("ctime > 123123123")
// 查询1
query.Offset((page-1) * pageSize).Limit(10).Find(&users)
// 查询2
query.Count(&count)

正确的V2版本 (复用条件时,需要带上 .Session(&grom.Session{}),否则会出现查询2里面带有查询1的条件,在并发情况下还会出现线程安全问题) :

query := db.Where("ctime > 123123123")// 查询1
query.Session(&gorm.Session{}).Offset((page-1) * pageSize).Limit(10).Find(&users)// 查询2
query.Session(&gorm.Session{}).Count(&count)

gorm升级V1至V2相关推荐

  1. Android v1、v2、v3签名原理

    Android签名机制 什么是Android签名 了解 HTTPS 通信的同学都知道,在消息通信时,必须至少解决两个问题:一是确保消息来源的真实性,二是确保消息不会被第三方篡改. 同理,在安装 apk ...

  2. Android 签名机制原理解析和V1 、V2签名区别

    一.什么是签名? 是确保消息来源的真实性 是确保消息不会被第三方篡改 1.基本信息基础必备 1.1 消息摘要 消息摘要,又称数字摘要 或 数字指纹.  简单来说,消息摘要就是在消息数据上,执行一个单向 ...

  3. Android V1及V2签名原理简析

    Android为了保证系统及应用的安全性,在安装APK的时候需要校验包的完整性,同时,对于覆盖安装的场景还要校验新旧是否匹配,这两者都是通过Android签名机制来进行保证的,本文就简单看下Andro ...

  4. Android V1、V2签名包和快速集成美团多渠道打包

    今日科技快讯 三天的Google I/O大会2018终于落下帷幕,虽说现在的I/O大会重点已经变成了人工智能,但是Android P的推出还是让很多小伙伴激动不已的.这次Android P被喻为近几年 ...

  5. 面试:Android 签名校验机制 v1、v2、v3

    探究 Android 签名机制和原理 - 腾讯云开发者社区-腾讯云 一.APK签名可以带来以下好处 应用程序升级 如果想无缝升级一个应用,Android系统要求应用程序的新版本与老版本具有相同的签名与 ...

  6. 测开之路二十:比较v1和v2

    根据V1和V2的版本号,如果v1>v2,返回1,如果v1<v2,返回-1,除此之外返回0 # 如果v1>v2,返回1,如果v1<v2,返回-1,除此之外返回0v1 = inpu ...

  7. python struct.pack()函数 (返回一个字节对象,其中包含根据格式字符串fmt打包的值v1,v2,...)

    def pack(fmt, *args): # known case of _struct.pack"""pack(fmt, v1, v2, ...) -> byt ...

  8. Swin Transformer 升级,Swin V2:向更大容量、更高分辨率的更大模型迈进

    作者丨happy 编辑丨极市平台 本文原创首发于极市平台公众号,转载请获得授权并标明出处 论文链接:https://arxiv.org/pdf/2111.09833.pdf 代码链接:https:// ...

  9. apk 签名v1与v2的区别

    在Android Studio中点击菜单 Build->Generate signed apk... 打包签名过程中, 可以看到两种签名选项 V1(Jar Signature)  V2(Full ...

最新文章

  1. 卷积神经网络(cnn)的体系结构
  2. 多线程处理大文件_Java内存映射,上G大文件轻松处理
  3. Java的finally执行顺序_Java return和finally执行顺序
  4. Mac 每次都要执行source ~/.bash_profile 配置的环境变量才生效
  5. 超炫jQuery测试答题功能
  6. 数据结构——堆的C语言实现
  7. java 类集合_java集合类详解
  8. linux 怎么看w7分区,如何查看widows7系统和Linux端口被占用
  9. leetcode第26题:删除排序数组的重复项
  10. IE6下溢出多余文字
  11. ISA发布邮件服务器
  12. [转] 客户端的JavaScript脚本中获取服务器端控件的值 及ID
  13. (8)matplotlib 将点连成线
  14. python备注(持续更新……)
  15. Django中文文档2.0
  16. 高数_第1章空间解析几何与向量代数__求旋转曲面方程
  17. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1+2+3, 编程找出 1000 以内的所有完数。
  18. 7-2 jmu-python-汇率兑换
  19. java 内存模型书籍_《深入理解 Java 内存模型》读书笔记
  20. 想学3D建模?适合安装3dsmax软件的笔记本配置

热门文章

  1. 《六顶思考帽》读后感
  2. 开始学习ARM 单片机
  3. 选赵敏还是选小昭,这可真是个问题 | Decision Tree
  4. Mac的Safari安装油猴插件(Tampermonkey)
  5. 海信智能电视可以升级鸿蒙系统吗,都是55寸新品,荣耀智慧屏、小米电视和海信电视,你会咋选?...
  6. flash游戏教程集锦~~制作游戏有疑惑的先来这里看看~~
  7. 移动端文字与排版设计的六个原则
  8. radmin连接电脑都能通,就是不显示桌面的处理办法
  9. 项目引入其他公共模块,公共模块的aop或者一些基础类无效。
  10. C语言2009年慈溪最大的数,慈溪中学2009年保送生招生考试科学[1]1