首页 > 数据库 >Gorm - 使用gorm时进行执行自定义SQL的几种方式

Gorm - 使用gorm时进行执行自定义SQL的几种方式

时间:2023-05-31 15:23:43浏览次数:44  
标签:自定义 err SQL sql Db util Error gorm

1、当只需要执行某个SQL而不需要进行获取返回值时

  // 如果其中有变量,则使用?进行占位,
    sql := "要执行的SQL"
    // 在Exec方法中在sql 后面可以使用多个参数作为占位的补充
    // 例如需要name=?,则写法可以使用util.Db.Exec(sql,"张三").Error
    err := util.Db.Exec(sql).Error
    if err != nil {
        log.Println(err.Error())
    }

 

2、当需要一个长组合SQL进行查询出来一个特定结果时

  sql := "要执行的SQL"
    // 接收返回结果的结构体
    type User struct {
        Id   int
        Name string
    }
    // 声明一个接收对象,这里接受多条时也可以使用数组进行
    var userInfo User
    err := util.Db.Raw(sql, "张三").Scan(&userInfo).Error
    if err != nil {
        log.Println(err.Error())
    }

3、自定义处理返回值

  sql := "要执行的SQL"
    rows, err := util.Db.Raw(sql).Rows()
    if err != nil {
        log.Println(err.Error())
    }
    for rows.Next() {
        // 处理逻辑
    }

标签:自定义,err,SQL,sql,Db,util,Error,gorm
From: https://www.cnblogs.com/beatle-go/p/17446215.html

相关文章

  • MySQL:一文弄懂时区&time_zone
    https://zhuanlan.zhihu.com/p/448999520你还在被以下问题困扰吗:MySQL的安装规范中应该设置什么时区?JAVA应用读取到的时间和北京时间差了14个小时,为什么?怎么解决?已经运行一段时间的业务,修改MySQL的时区会影响已经存储的时间类型数据吗?迁移数据时会有导致时间类型数据时区......
  • 各类数据库适配mysql
    1.clickhouse:Array(Date)=TEXTArray(DateTime=TEXTArray(FLoat32)=TEXTArray(FLoat64)=TEXTArray(Int16)=TEXTArray(Int32)=TExTArray(Int64)=TEXTArray(Int8)TExTDateTime=DATETIMEAnray(stringD=TExTArray(UInt16)=INTArav(uInt32)=INTArray(UInt64)=INTArr......
  • Mysql 逗号分隔的字段查询
    二、find_in_set为了解决like存在的问题,还可以使用mysql提供的find_in_set(str,strlist),sql可以这样写:select*fromuserwherefind_in_set('1',hobby_ids);这样mysql就会把hobby_ids的值,按照逗号分隔的一个个元素去匹配。如果我们要匹配多个值要怎么办呢,比如查找喜欢1-篮球......
  • 手机直播源码,android 轮播图(自定义组合控件)
    手机直播源码,android轮播图(自定义组合控件)1.项目gradle添加一下配置:  allprojects{ repositories{ ... maven{url'https://jitpack.io'} } } ​2.module中的gradle添加依赖:  dependencies{   implementation'com.github.truemi:SlideS......
  • 西门康IGBT模块存在sql注入 QTVA-2023-3632489
    网址:http://www.gl-igbt.com/product.php?id=6 漏洞描述: 西门康igbt模块,采购平台,便捷购买,专业代理,售后无忧,大量现货供应,模块齐全,可直接供货,一键下单,整流桥功率,西门康一站式采购平台,可长期稳定供货 西门康IGBT模块存在sql注入漏洞,攻击者可利用该漏洞获取数据库......
  • 悦才教育咨询 存在sql注入
     网址:http://joytalentedu.com/single-blog-post.php?id=387漏洞描述:悦才教育咨询(扬州)有限公司是一家针对于促进中美教育学术文化交流的平台型公司,并非传统留学机构,公司注重“深度挖掘潜力,精准匹配适求”的理念以希望最大程度的开发每一位孩子的潜力,并用专业的角度辅助孩子发......
  • 视频直播系统源码,Android 自定义底部导航栏
    视频直播系统源码,Android自定义底部导航栏添加依赖1.项目gradle添加一下配置:  allprojects{ repositories{ ... maven{url'https://jitpack.io'} } }   ​2.module中的gradle添加依赖:  dependencies{   implementation'com.github.tr......
  • TDSQL强同步复制
    一.概述通过分析,我们发现MySQL原声半同步复制缺陷:1、MySQL半同步复制支持退化成异步复制,在严格的金融场景不一定合适。2、MySQL在Slave在收到Master的binlog时,默认情况下无法保证relay log实时落盘,即sync_relay_log=0,如果需要保证relay log实时落盘,即sync_relay_log=1,则每个event......
  • sql
    实验的SQL触发器DDL设置一个触发器,当对student表某位学生进行更新时,限制学生年龄必须超过18,否则报错“学生年龄应该大于18”。CREATETRIGGERUP_STUDENTONSTUDENTFORUPDATEASBEGINDECLARE@SAGEINT;SELECT@SAGE=SAGEFROMINSERTED;IF@SAGE<......
  • sqlmap的使用 ----常用tamper模块,TODO,绕过WAF的测试
    sqlmap的使用----自带绕过脚本tamperwkend2018-09-1520:23:39sqlmap在默认的的情况下除了使用char()函数防止出现单引号,没有对注入的数据进行修改,还可以使用–tamper参数对数据做修改来绕过waf等设备。0x01命令如下sqlmap-u[url]--tamper[模块名]sqlmap的绕过脚本在目录u......