注意:
TiDB 支持等级说明:
- Full:此 Driver 或 ORM 没有已知的 issues。
- Verified:可能会因为 TiDB 与 MySQL 的兼容性问题,导致出现错误。
关于更多 TiDB 支持的第三方工具,你可以查看 TiDB 支持的第三方工具。
TiDB 兼容 MySQL 的协议,但存在部分与 MySQL 不兼容的特性,例如:
TiDB 不支持:
- 存储过程与函数
- 触发器
- 外键约束
TiDB 与 MySQL 有差异:
- 自增 ID:可保证全局唯一,或单 TiDB 节点的自增,但无法保证全局自增。
全部兼容性差异可查看与 MySQL 兼容性对比
Java
本节介绍 Java 语言的 Driver 及 ORM 的使用方式。
Java Drivers
xml
io.github.lastincisor
mysql-connector-java
8.0.29-tidb-1.0.0
xml
io.github.lastincisor
mysql-connector-java
8.0.29-tidb-1.0.0
org.bouncycastle
bcprov-jdk15on
1.67
org.bouncycastle
bcpkix-jdk15on
1.67
dependenciesgradle
implementation group: 'io.github.lastincisor', name: 'mysql-connector-java', version: '8.0.29-tidb-1.0.0'
implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.67'
implementation group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: '1.67'
Java ORM 框架
注意:
6.0.0.Beta2xml
org.hibernate.orm
hibernate-core
6.0.0.CR2
mysql
mysql-connector-java
5.1.49
Gradledependenciesgradle
implementation 'org.hibernate:hibernate-core:6.0.0.CR2'
implementation 'mysql:mysql-connector-java:5.1.49'org.hibernate.dialect.TiDBDialect6.0.0.Beta2org.hibernate.dialect.MySQL57Dialectxml
org.mybatis
mybatis
3.5.9
mysql
mysql-connector-java
5.1.49
dependenciesgradle
implementation 'org.mybatis:mybatis:3.5.9'
implementation 'mysql:mysql-connector-java:5.1.49'
Java 客户端负载均衡
tidb-loadbalance
支持等级:Full
tidb-loadbalance 是应用端的负载均衡组件。通过 tidb-loadbalance,你可以实现自动维护 TiDB server 的节点信息,根据节点信息使用 tidb-loadbalance 策略在客户端分发 JDBC 连接。客户端应用与 TiDB server 之间使用 JDBC 直连,性能高于使用负载均衡组件。
目前 tidb-loadbalance 已实现轮询、随机、权重等负载均衡策略。
注意:
tidb-loadbalance 需配合 mysql-connector-j 一起使用。
<dependency>
<groupId>io.github.lastincisor</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29-tidb-1.0.0</version>
</dependency>
<dependency>
<groupId>io.github.lastincisor</groupId>
<artifactId>tidb-loadbalance</artifactId>
<version>0.0.5</version>
</dependency>
dependencies
implementation group: 'io.github.lastincisor', name: 'mysql-connector-java', version: '8.0.29-tidb-1.0.0'
implementation group: 'io.github.lastincisor', name: 'tidb-loadbalance', version: '0.0.5'
Golang
本节介绍 Golang 语言的 Driver 及 ORM 的使用方式。
Golang Drivers
go-sql-driver/mysql
支持等级:Full
按照 go-sql-driver/mysql 文档中的说明获取并配置 Golang 驱动程序即可使用。
有关一个完整的实例应用程序,可参阅使用 TiDB 和 go-sql-driver/mysql 构建一个 Golang 应用。
Golang ORM 框架
GORM
支持等级:Full
go get
go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql
使用 GORM 进行 TiDB 应用程序构建的例子,可参阅 TiDB 和 Golang 的简单 CRUD 应用程序 - 使用 GORM。