Documentation
¶
Overview ¶
Package typemap 的 MySQL 实现(本文件)。 MySQL 类型映射支持 modern(java.time.*)与 legacy(java.util.Date 等)两种日期类型风格。
Package typemap 的 PostgreSQL 实现(本文件)。 PostgreSQL 类型映射支持 modern(java.time.*)与 legacy(java.util.Date 等)两种日期类型风格。
Package typemap 把数据库列类型映射为 Java 类型与 JDBC 类型。 核心概念:TypeMapper 接口允许不同数据库方言提供各自的类型映射实现。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type TypeMapper ¶
type TypeMapper interface {
// MapToJavaType 把数据库列类型映射为 Java 标准类型名,如 "varchar" -> "String"。
MapToJavaType(dbType string) string
// MapToJdbcType 把数据库列类型映射为 JDBC 标准类型名,如 "varchar" -> "VARCHAR"。
MapToJdbcType(dbType string) string
}
TypeMapper 是类型映射接口。 Go 小白知识点:接口是隐式实现——任何拥有这两个方法的结构体「自动」满足 TypeMapper, 无需写 implements 关键字(Java/C# 那种显式继承在 Go 中不存在)。
func For ¶
func For(d dialect.SqlDialect, dateType string) (TypeMapper, error)
For 按方言返回 TypeMapper,dateType 控制日期类型映射(modern/legacy)。M3 起支持 PostgreSQL。 Go 小白知识点:dateType 透传给具体 mapper(如 NewMySQL), 而不在 For 内硬编码,遵循「单一职责」——For 只负责分发,不决定映射细节。
func NewMySQL ¶
func NewMySQL(dateType string) TypeMapper
NewMySQL 返回 MySQL 类型映射器。 dateType 传 "modern" 或 "legacy",控制日期/时间列的 Java 类型。 返回接口类型而非具体类型,便于日后替换实现而无需改动调用侧——遵循「依赖倒转原则」。
func NewPostgreSQL ¶
func NewPostgreSQL(dateType string) TypeMapper
NewPostgreSQL 返回 PostgreSQL 类型映射器。 dateType 传 "modern" 或 "legacy",控制日期/时间列的 Java 类型。 返回接口类型而非具体类型,便于日后替换实现而无需改动调用侧——遵循「依赖倒转原则」。