# tidb-java-jdbc-quickstart
**Repository Path**: xfworld/tidb-java-jdbc-quickstart
## Basic Information
- **Project Name**: tidb-java-jdbc-quickstart
- **Description**: No description available
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: feat-recreate-bug
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-07-09
- **Last Updated**: 2025-07-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 如何用 JDBC 连接到 TiDB
[](https://github.com/tidb-samples/tidb-java-jdbc-quickstart/actions/workflows/maven.yml)
[English](/README.md) | 中文
这是 PingCAP 为 JDBC 编写的用于连接 TiDB 的示例项目
> TiDB 是一个兼容 MySQL 的数据库。[MySQL Connector/J](https://dev.mysql.com/downloads/connector/j/) 是 MySQL 对 JDBC 的实现。
## 前置要求
- 推荐 **Java Development Kit** (JDK) **17** 及以上版本,你可以根据公司及个人需求,自行选择 [OpenJDK](https://openjdk.org/) 或 [Oracle JDK](https://www.oracle.com/hk/java/technologies/downloads/)。
- [Maven](https://maven.apache.org/install.html) **3.8** 及以上版本。
- [Git](https://git-scm.com/downloads)。
- TiDB 集群。如果你还没有 TiDB 集群,可以按照以下方式创建:
- (推荐方式)参考[创建 TiDB Serverless 集群](https://docs.pingcap.com/tidbcloud/dev-guide-build-cluster-in-cloud),创建你自己的 TiDB Cloud 集群。
- 参考[部署本地测试 TiDB 集群](https://docs.pingcap.com/zh/tidb/stable/quick-start-with-tidb#部署本地测试集群)或[部署正式 TiDB 集群](https://docs.pingcap.com/zh/tidb/stable/production-deployment-using-tiup),创建本地集群。
## 开始实践
### 1. 克隆示例代码仓库到本地
```shell
git clone https://github.com/tidb-samples/tidb-java-jdbc-quickstart.git
cd tidb-java-jdbc-quickstart
```
### 2. 配置连接信息
(选项 1) TiDB Serverless
1. 在 TiDB Cloud 控制台中,打开 [Clusters](https://tidbcloud.com/console/clusters) 页面,选择你的 TiDB Serverless 集群,进入 **Overview** 页面,点击右上角的 **Connect** 按钮。
2. 确认窗口中的配置和你的运行环境一致。
- **Endpoint Type** 为 **Public**
- **Connect With** 为 **General**
- Operating System 为你的运行环境
> 如果你在 Windows Subsystem for Linux (WSL) 中运行,请切换为对应的 Linux 发行版。
3. 点击 **Generate password** 生成密码。
> 如果你之前已经生成过密码,可以直接使用原密码,或点击 **Reset Password** 重新生成密码。
4. 运行以下命令,将 `env.sh.example` 复制并重命名为 `env.sh`:
```bash
cp env.sh.example env.sh
```
5. 复制并粘贴对应连接字符串至 `env.sh` 中。需更改部分示例结果如下。
```shell
export TIDB_HOST='{gateway-region}.aws.tidbcloud.com'
export TIDB_PORT='4000'
export TIDB_USER='{prefix}.root'
export TIDB_PASSWORD='{password}'
export TIDB_DB_NAME='test'
export USE_SSL='true'
```
注意替换 `{}` 中的占位符为 **Connect** 窗口中获得的值。
TiDB Serverless 要求使用 secure connection,因此 `USE_SSL` 的值应为 `true`。
6. 保存文件。
(选项 2) TiDB Dedicated
1. 在 TiDB Cloud Web Console 中,选择你的 TiDB Dedicated 集群,进入 **Overview** 页面,点击右上角的 **Connect** 按钮。点击 **Allow Access from Anywhere**。
> 更多配置细节,可参考 [TiDB Dedicated 标准连接教程](https://docs.pingcap.com/tidbcloud/connect-via-standard-connection).
2. 运行以下命令,将 `env.sh.example` 复制并重命名为 `env.sh`:
```bash
cp env.sh.example env.sh
```
3. 复制并粘贴对应的连接字符串至 `env.sh` 中。需更改部分示例结果如下。
```shell
export TIDB_HOST='{host}.clusters.tidb-cloud.com'
export TIDB_PORT='4000'
export TIDB_USER='{prefix}.root'
export TIDB_PASSWORD='{password}'
export TIDB_DB_NAME='test'
export USE_SSL='false'
```
注意替换 `{}` 中的占位符为 **Connect** 窗口中获得的值,并配置前面步骤中下载好的证书路径。
4. 保存文件。
(选项 3) 自建 TiDB
1. 运行以下命令,将 `env.sh.example` 复制并重命名为 `env.sh`:
```bash
cp env.sh.example env.sh
```
2. 复制并粘贴对应的连接字符串至 `env.sh` 中。需更改部分示例结果如下。
```shell
export TIDB_HOST='{tidb_server_host}'
export TIDB_PORT='4000'
export TIDB_USER='root'
export TIDB_PASSWORD='{password}'
export TIDB_DB_NAME='test'
export USE_SSL='false'
```
注意替换 `{}` 中的占位符为你的 TiDB 对应的值。如果你在本机运行 TiDB,默认 Host 地址为 `127.0.0.1`,密码为空。
3. 保存文件。
### 3. 运行示例代码
```shell
make
```
### 4. 期望输出
[期望的输出](/Expected-Output.txt)
## 注意事项
关于 **MySQL Connector/J** 的更多使用方法及细节,可以参考 [MySQL Connector/J 官方文档](https://dev.mysql.com/doc/connector-j/8.1/en/)。
## 下一步
- 你可以继续阅读开发者文档,以获取更多关于 TiDB 的开发者知识。例如:[插入数据](https://docs.pingcap.com/zh/tidb/stable/dev-guide-insert-data),[更新数据](https://docs.pingcap.com/zh/tidb/stable/dev-guide-update-data),[删除数据](https://docs.pingcap.com/zh/tidb/stable/dev-guide-delete-data),[单表读取](https://docs.pingcap.com/zh/tidb/stable/dev-guide-get-data-from-single-table),[事务](https://docs.pingcap.com/zh/tidb/stable/dev-guide-transaction-overview),[SQL 性能优化](https://docs.pingcap.com/zh/tidb/stable/dev-guide-optimize-sql-overview)等。
- 如果你更倾向于参与课程进行学习,我们也提供专业的 [TiDB 开发者课程](https://cn.pingcap.com/courses-catalog/back-end-developer/)支持,并在考试后提供相应的[资格认证](https://learn.pingcap.com/learner/certification-center)。
- 我们还有额外针对 Java 开发者的课程:[使用 Connector/J - TiDB v6](https://learn.pingcap.com/learner/course/840002/?utm_source=docs-cn-dev-guide) 及[在 TiDB 上开发应用的最佳实践 - TiDB v6](https://learn.pingcap.com/learner/course/780002/?utm_source=docs-cn-dev-guide) 可供选择。