一、需求背景
需要实现一个在Web页面对数据库进行查询的功能,但由于查询语句不确定,查询结果字段也不确定。后端为Golang开发,前端使用VUE,Golang为强类型语言,并且会对数据库查出的结果进行二次数据结构类型调整,导致最终结果展示和数据库内部实际存储结果不同。
二、问题
- 数据库类型:MySQL
- Go版本:1.13.8
- Go操作数据库包:Gorm
- 前端ui:element ui
1 | // 默认根据获得到的类型,直接返回结果 |
返回结果会出现时间类型、甚至int、varchar类型和数据库存储信息不一致情况,例如:
数据库实际存储为:
但调用显示结果为:
1 | "data": [ |
三、实现
1、后端
1 | dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local" |
后端返回结果示例:
1 | "result": [ |
2、前端
1 | <template> |