Golang: Library: GORM

 6th December 2021 at 2:33pm

MySQL Driver

GORM 默认用的 MySQL driver 是 go-sql-driver/mysql。DSN 写法和相关的参数见其 条目

Find to Map 功能

GORM 提供了一个 Find to Map 能力,能把 DB 行转换成 map。

做实验时建了这样一个表:

-- auto-generated definition
create table kevin_lin_tab
(
    id              int auto_increment primary key,
    double_value    double         null,
    decimal_value   decimal        null,
    date_value      date           null,
    time_value      time           null,
    datetime_value  datetime       null,
    timestamp_value timestamp      null,
    year_value      year           null,
    varchar_value   varchar(100)   null,
    varbinary_value varbinary(100) null
);

使用 GORM 函数转成了 []map[string]interface{} 后:

效果还是可以的。

测试时发现,必须在 DSN 中置 parseTime 为 true。否则会导致 map 中很多列没有值(nil)。

通过已有 DB 生成 model

smallnest/gen