• orm框架


    gorm会默认给struct名称设置小写,并且加上复数形式

    tc := &src.TopicClass{} //用orm去建表时驼峰个是你会用下划线隔开,所有TopicClass对应表为topic_class
    db.First(tc,2) //只取topic_class查询结果第一条,后面的2是可选参数,加上表示取主键=2的数据集的第一条,结构体必须标注了主键才可以查询到结果,如下面classId
    /*
    type TopicClass struct {
        ClassId   int `gorm:"PRIMARY_KEY"`
        ClassName string
        ClassType string `gorm:"Column:classType"`
    }
    */
    db.classes("topic_class").First(tc) //指定表名字

    ![](https://xiahualou.oss-cn-shanghai.aliyuncs.com/img/20191219150926.png)db.LogMode(true) //打开输出,可以看到拼接的sql
    
    db.SingularTable(true) //gorm会自动给表名加复数,可以设置使gorm在创建(查询)表时不加复数,如果为false则为topic_classes,下图topic_classes和topic_class分别为true和false的情况
    
    

    image-20191203202832467

    type TopicClass struct {
        ClassId   int `gorm:"PRIMARY_KEY"` //这里要加PRIMARY_KEY,否则db.First(tc,2) 这里会报错,因为gorm不知道哪个是主键
        ClassName string
        ClassType string `gorm:"Column:classType"` //默认是class_type但是数据库字段为classType,可以使用反射来标记字段
    }
    db.Where("class_name=?","技术类").find(tc) //查询class_name为技术类的数据
    db.Where(&TopicClass{className:"技术类"}).find(tc) //查询class_name为技术类的数据
    var tcs []TopicClass
    db.Find(&tcs) // 表示取出所有数据

    插入数据

    insert_tc := &TopicClass{2,"九四班","强化班"}
    fmt.Println(db.Create(insert_tc).RowsAffected)

    gorm会默认给struct名称设置小写,并且加上复数形式

    image-20191203202708585

    tc := &src.TopicClass{} //用orm去建表时驼峰个是你会用下划线隔开,所有TopicClass对应表为topic_class
    db.First(tc,2) //只取topic_class查询结果第一条,后面的2是可选参数,加上表示取主键=2的数据集的第一条,结构体必须标注了主键才可以查询到结果,如下面classId
    /*
    type TopicClass struct {
        ClassId   int `gorm:"PRIMARY_KEY"`
        ClassName string
        ClassType string `gorm:"Column:classType"`
    }
    */
    db.classes("topic_class").First(tc) //指定表名字

    ![](https://xiahualou.oss-cn-shanghai.aliyuncs.com/img/20191219150926.png)db.LogMode(true) //打开输出,可以看到拼接的sql
    
    db.SingularTable(true) //gorm会自动给表名加复数,可以设置使gorm在创建(查询)表时不加复数,如果为false则为topic_classes,下图topic_classes和topic_class分别为true和false的情况
    
    

    image-20191203202832467

    type TopicClass struct {
        ClassId   int `gorm:"PRIMARY_KEY"` //这里要加PRIMARY_KEY,否则db.First(tc,2) 这里会报错,因为gorm不知道哪个是主键
        ClassName string
        ClassType string `gorm:"Column:classType"` //默认是class_type但是数据库字段为classType,可以使用反射来标记字段
    }
    db.Where("class_name=?","技术类").find(tc) //查询class_name为技术类的数据
    db.Where(&TopicClass{className:"技术类"}).find(tc) //查询class_name为技术类的数据
    var tcs []TopicClass
    db.Find(&tcs) // 表示取出所有数据

    插入数据

    insert_tc := &TopicClass{2,"九四班","强化班"}
    fmt.Println(db.Create(insert_tc).RowsAffected)




  • 相关阅读:
    vuex
    koa2+node+vue自启服务运行本地脚本
    重新认识js(一)
    JQuery图片左右无缝滚动
    javascript兼容性很好的省市区联动,易修改
    JQuery超级简单的TAB选项卡
    ViewState的原理分析
    JQuery图片切换特效
    asp.net验证控件详解【转】
    时间线 制作
  • 原文地址:https://www.cnblogs.com/hualou/p/12070800.html
Copyright © 2020-2023  润新知