PingKai Logo下载

选择驱动或 ORM

TiDB 高度兼容 MySQL 协议,但部分功能与 MySQL 不兼容。完整的兼容性差异列表请参见 MySQL 兼容性。

Java

本节介绍如何在 Java 中使用驱动和 ORM 框架。

Java 驱动

支持级别:Full

你可以按照 MySQL 官方文档 下载并配置 Java JDBC 驱动。推荐在 TiDB v6.3.0 或更高版本中使用最新的 GA 版本 MySQL Connector/J。

关于如何构建完整应用的示例,请参见 使用 TiDB 和 JDBC 构建简单 CRUD 应用。

Java ORM 框架

支持级别:Full

为避免手动管理应用中不同依赖之间的复杂关系,你可以使用 Gradle 或 Maven 获取应用的所有依赖(包括间接依赖)。注意,只有 Hibernate 6.0.0.Beta2 及以上版本支持 TiDB 方言。

如果你使用 Maven,请在 <dependencies></dependencies> 中添加以下内容:

<dependency>
    <groupId>org.hibernate.orm</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>6.2.3.Final</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>

如果你使用 Gradle,请在 dependencies 中添加以下内容:

implementation 'org.hibernate:hibernate-core:6.2.3.Final'
implementation 'mysql:mysql-connector-java:8.0.33'

此外,你需要在 Hibernate 配置文件 中指定 TiDB 方言:org.hibernate.dialect.TiDBDialect,该方言仅在 Hibernate 6.0.0.Beta2 及以上版本支持。如果你的 Hibernate 版本早于 6.0.0.Beta2,请先升级。

Java 客户端负载均衡

tidb-loadbalance

支持级别:Full

tidb-loadbalance 是应用侧的负载均衡组件。通过 tidb-loadbalance,你可以自动维护 TiDB server 节点信息,并在客户端使用 tidb-loadbalance 策略分配 JDBC 连接。客户端应用与 TiDB server 之间直接使用 JDBC 连接的性能高于使用负载均衡组件。

目前,tidb-loadbalance 支持以下策略:roundrobin、random 和 weight。

如果你使用 Maven,请在 pom.xml 文件的 <dependencies></dependencies> 元素体中添加以下内容:

<dependency>
  <groupId>io.github.lastincisor</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.29-tidb-1.0.2</version>
</dependency>
<dependency>
  <groupId>io.github.lastincisor</groupId>
  <artifactId>tidb-loadbalance</artifactId>
  <version>0.0.5</version>
</dependency>

如果你使用 Gradle,请在 dependencies 中添加以下内容:

implementation group: 'io.github.lastincisor', name: 'mysql-connector-java', version: '8.0.29-tidb-1.0.2'
implementation group: 'io.github.lastincisor', name: 'tidb-loadbalance', version: '0.0.5'

Golang

本节介绍如何在 Golang 中使用驱动和 ORM 框架。

Golang 驱动

go-sql-driver/mysql

支持级别:Full

关于如何下载和配置 Golang 驱动,请参考 go-sql-driver/mysql 文档。

关于如何构建完整应用的示例,请参见 使用 Go-MySQL-Driver 连接 TiDB。

Golang ORM 框架

GORM

支持级别:Full

GORM 是 Golang 中流行的 ORM 框架。你可以使用 go get 命令获取应用的所有依赖。

go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql

关于如何使用 GORM 构建 TiDB 应用的示例,请参见 使用 GORM 连接 TiDB。

Python

本节介绍如何在 Python 中使用驱动和 ORM 框架。

Python 驱动

支持级别:Compatible

你可以按照 PyMySQL 文档 下载并配置驱动。推荐使用 PyMySQL 1.0.2 或更高版本。

关于如何使用 PyMySQL 构建 TiDB 应用的示例,请参见 使用 PyMySQL 连接 TiDB。

Python ORM 框架

支持级别:Full

Django 是流行的 Python Web 框架。为解决 TiDB 与 Django 的兼容性问题,平凯星辰提供了 TiDB 方言 django-tidb。安装方法请参见 django-tidb 文档。

关于如何使用 Django 构建 TiDB 应用的示例,请参见 使用 Django 连接 TiDB。

在你确定了驱动或 ORM 之后,可以 连接到你的 TiDB 集群。

需要帮助?

欢迎在 Discord 或 Slack 社区提问,或 提交支持工单。