• 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)




  • 相关阅读:
    实验四 数据库安全设计
    对订单数据库进行查询等操作
    vue学习笔记7 -组件之 父子组件之间的访问
    vue学习笔记6 父子组件的通信之 子组件修改由父组件传递过来的值 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed pro
    vue学习笔记5 组件
    vue学习笔记4 v-mode
    vue学习笔记3 购物车 实例
    vue学习笔记2 实例学习
    vue学习笔记1 《Vue.js 前端开发 快速入门与专业应用》
    postman学习:如何写断言
  • 原文地址:https://www.cnblogs.com/hualou/p/12070800.html
Copyright © 2020-2023  润新知