首先说一下问题:
由于id,name对是个常见的结构,所以我定义了结构体如下:
type IDName struct{
ID int64 `json:"id"`
Name string `json:"name"`
}
然后用类似如下方式从数据库获取列值:
var idNames []IDName
engine.Sql("SELECT id,name FROM XXX").Find(&idNames)
结果发现ID值都是0,但是Name值都可以正常获取
开始怀疑没有加xorm类型映射,修改如下:
type IDName struct{
ID int64 `json:"id" xorm:"INTEGER"`
Name string `json:"name"`
}
结果问题照旧。
最后修改为:
type IDName struct{
Id int64 `json:"id" xorm:"INTEGER"`
Name string `json:"name"`
}
问题解决, 其实就是"ID"和"Id"一个字符的差别。
究其原因呢,是因为xorm引擎默认使用了SnakeMapper来关联数据库字段名和结构体字段名,由于“ID”不满足驼峰命名法,所以映射失败了。
相关推荐
xorm支持两种风格的混用,即使用函数和结构体作为条件,如Id, In, Where, Limit, Join, Having, Table, SQL, Cols等。它支持Struct和数据库表之间的灵活映射,并可以自动同步数据库结构。 xorm具有以下特点: 1. ...
在本文中,我们将深入探讨如何使用Gin和XORM这两个流行的开源库来构建Go语言的Web应用程序框架。Gin是一个高效、简洁的Web框架,它提供了丰富的中间件支持,而XORM则是一个轻量级的ORM(对象关系映射)库,能够简化...
基于beego框架和xorm做的数据库定时备份系统.zip基于beego框架和xorm做的数据库定时备份系统.zip基于beego框架和xorm做的数据库定时备份系统.zip基于beego框架和xorm做的数据库定时备份系统.zip
在本教程中,我们将探讨如何使用Golang语言结合Gin和Xorm这两个库来搭建一个Web框架。Gin是一个Web框架,是Go语言编写的,主要用于开发API服务,而Xorm是一个ORM库,用于简化数据库操作。我们将深入了解如何将Gin与...
定义Go结构体以代表数据库中的表,通过在结构体上添加`xorm:"column"`等标签来指定列名和类型。例如: ```go type User struct { Id int64 `xorm:"pk autoincr"` Name string `xorm:"varchar(50)"` } ``` 3. CRUD...
该项目是一款基于Gin框架和Xorm构建的数据库定时备份系统,源码包含109个文件,其中Go语言文件66个,JavaScript文件17个,CSS文件7个,PNG图片文件6个,Markdown文件2个,JPG图片文件1个,LICENSE文件1个,INI配置...
基于gin框架和xorm做的数据库定时备份系统
xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。xorm的目标并不是让你完全不去学习SQL,我 们认为SQL并不会为ORM所替代,但是ORM将可以解决绝大部分的简单SQL需求。xorm支持两种风格的混用。
在Go-xorm中,你可以通过定义结构体来代表数据库中的表,并通过结构体字段的标签来指定对应的数据库列名。例如: ```go type User struct { Id int64 Name string `xorm:"varchar(50)"` Age int } ``` 这里的`...
由于本人前端技术比较菜,所以本项目中的模板页面是从开源项目中抽离的,Guns是一个Java项目,模板引擎使用的是beetl ,gin是无法渲染的,所以将beetl页面改成HTML页面,中间难免有错误还请见谅! 本项目用到的技术...
xorm, 面向 Go,支持 mysql,postgres,tidb,sqlite3,sql,oracle的简单和强大的ORM 中文Xorm是一个简单而强大的Go 。 特性结构 <->-表映射支持可以链接的api事务支持ORM和原始SQL操作支持同步数据库架构支持查询...
说明本库是基于原版xorm : : 的定制增强版本,由于本定制版有第三方库依赖(原版xorm无任何第三方库依赖),原版xorm要保持对第三方库零依赖特性,所以只好单独开了本Github库。本库的相关定制功能是为了解决更简单...
例如,创建一个名为`Student`的结构体,包含`Id`、`Username`和`Address`字段,并使用`xorm`标签来指定数据库中的列名和数据类型。在本例中,我们有`INT(11)`类型的`Id`(别名`xxx`)、`VARCHAR(64)`类型的`Username...
Xorm reverse是go语言golang数据库转换为代码的命令行工具,能够根据数据库自动反向生成go代码,根据数据表结构创建对应的 struct 模型,非常方便ORM的使用
本文将深入探讨一个使用Go语言开发的个人博客系统,该系统基于两个强大的开源库——Revel框架和XORM ORM。这个博客系统旨在提供一个高效、可扩展的平台,方便开发者学习Go语言并实践Web应用开发。 【Revel框架】 ...
tidb驱动程序和github.com/go-xorm/xorm的方言 当前,我们可以为所有操作支持tidb。 如何使用 就像xorm的其他支持一样,但是您应该导入三个软件包: import ( _ "github.com/pingcap/tidb" _ "github....
管理系统系列的项目通常涉及到多个技术栈的整合,这个项目基于Go、Echo、XORM和Vue TypeScript Vite构建,旨在提供一个高效、简洁且美观的前后端解决方案。让我们逐一深入探讨这些技术及其在项目中的作用。 **Go...
GO语言实现简单登录注册修改密码+数据库mysql + XORM.xorm是一个简单而...xorm的目标并不是让你完全不去学习SQL,我们认为SQL并不会为ORM所替代,但是ORM将可以解决绝大部分的简单SQL需求。xorm支持两种风格的混用。
Revel、jQuery和Xorm是这个系统的核心技术,它们分别代表了Web框架、前端库和数据库操作库。 **Revel框架** Revel是用Go语言编写的一个高性能、简化开发的Web应用框架。它提供了诸如路由、中间件、依赖注入等功能,...