首页 > 其他分享 >gorm的First、Find、Raw与Scan

gorm的First、Find、Raw与Scan

时间:2023-08-23 16:44:06浏览次数:29  
标签:name Scan 查询 Raw Find First

使用First,Take,Last 进行单条查找,First根据主键正序,Last 根据主键倒序

Find查询结果是列表,First查询的是单条数据。

Raw

  • 中文:原生的

作用:在写gorm语句时候用来写Raw sql语句(原生sql语句)

在使用Raw自定义SQL查询时,使用Scan来接收数据,虽然Find也是可以接收的,但是Find主要还是用来带条件查询的,链接到Raw后面时条件是不起作用的。所以用Scan函数单纯的接收数据就行了【不能加条件】。

Scan:

type Result struct {
  Name string
  Age  int
}

var result Result
db.Table("users").Select("name", "age").Where("name = ?", "Antonio").Scan(&result)

// Raw SQL
db.Raw("SELECT name, age FROM users WHERE name = ?", "Antonio").Scan(&result

注意点:一般写联表查询的时候,会用scan

标签:name,Scan,查询,Raw,Find,First
From: https://www.cnblogs.com/beatle-go/p/17652097.html

相关文章

  • java流程控制01.Scanner
    用户交互ScannerScanner交互,在之前的基本语法学习中,并没有实现程序和人的交互,但是Java给我们提供了一个工具类,我们可以获取用户的输入。java.util.Scanner是java5的新特征,我们可以通过Scanner类来获取用户的输入。基本语法:Scanners=newScanner(System.in);通过Scanner......
  • Kotlin 风格,应该这样写drawable
    前言通常我们在res/drawable下面自定义shape和selector来满足一些UI的设计,但是由于xml最终转换为drawable需要经过IO或反射创建,会有一些性能损耗,另外随着项目的增大和模块化等,很多通用的样式并不能快速复用,需要合理的项目资源管理规范才能实施。那么通过代码直接创建这些drawable,可......
  • 怎么解决“/usr/bin/ld: cannot find -lz: No such file or directory”
    这个错误是链接器无法找到所需的库文件-lz(通常是zlib库)导致的。-lz是编译器告诉链接器需要链接zlib库的标志。解决这个问题的方法是确保系统中安装了zlib库以及相关的开发包。在大多数Linux发行版中,你可以使用包管理工具来安装zlib库。例如,在Ubuntu中,你可以运行以......
  • Scanner对象
    Scanner对象1.Scanner对象Scanner是java5的新特性,我们通过Scanner类来获取用户输入。基本语法:Scanners=newScanner(System.in)通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据2.Scanner......
  • CCPC 2023 网络赛 J. Find the gap 另(不可行)解
    题面\(n\)个三维点\((x_i,y_i,z_i)\),求两个距离最近的平行平面夹住所有点。输出距离。精度\(10^{-9}\)。\(1\len\le50,1\lex_i,y_i,z_i\le10^4\)。原题可行解两种case:答案平面平行于一个三点定平面;答案平面平行于一对异面直线的公共平行面(例如:正四面体)。前一种......
  • 如何为anaconda配置动态链接库——ERROR: compiler_compat/ld: cannot find
    现在为python编译lib库的环境主要是使用anaconda,而之前往往都是使用自编译python环境,然后使用Linux的系统lib环境,但是现在由于都是使用anaconda环境来编译python的扩展lib库,那么也就出现了为anaconda设置动态链接库这个问题了。 我们为Linux系统环境设置动态链接库地址的方式主......
  • find,findIndex方法
    find()方法:数组中每个元素都调用一次函数中执行,通过判断返回符合条件的对象,没找到返回undefined;findIndex()方法:数组实例的findIndex方法找出第一个符合条件元素的位置,没找到返回-1;find://1.找出数组中id=50的元素letarr=[{id:10,name:'狼了个狼'},{id:20,name:'......
  • 【Oracle RAC Database】Single Client Access Name(SCAN)
    SCAN的作用是简化客户端连接数据库的配置,无论集群增加还是删除节点SCAN名称会一直保持不变,客户端不需要做任何的修改。SCAN是一个名称,通过DNS被解析成最多3个IP地址(SCANVIP)SCANVIP的作用是接收客户端连接,SCANVIP必须与集群的公网资源处于相同的子网,每一个SCANVIP都会有对应的S......
  • [转]By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has
    在编译安装的时候出现如下问题,是Eigen3的Cmake依赖问题,已经安装eigen3,但在项目的find_package(Eigen3QUERIED)中,无法找到FindEigen3.Cmake. CMakeErroratloam_velodyne/CMakeLists.txt:13(find_package):Bynotproviding"FindEigen3.cmake"inCMAKE_MODULE_......
  • vue.js:5108 [Vue warn]: Cannot find element: #body_container
    1、原因:我把Vue挂载元素的JS放在了html加载完成的前面了2、解决:放到html加载完成之后就可以了 ......