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