Help us shape the future of Go! Take the 2026 Go Developer Survey

typemap

package
v0.8.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2026 License: MIT Imports: 3 Imported by: 0

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 类型。 返回接口类型而非具体类型,便于日后替换实现而无需改动调用侧——遵循「依赖倒转原则」。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL