Skip to content

Commit b437360

Browse files
💬Generate LLM translations (#1106)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 52819c2 commit b437360

File tree

1 file changed

+34
-38
lines changed

1 file changed

+34
-38
lines changed

docs/cn/developer/00-drivers/03-jdbc.md

Lines changed: 34 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ title: Java
1010

1111
要下载 Databend JDBC 驱动:
1212

13-
1. 前往 Maven 中央仓库:https://repo1.maven.org/maven2/com/databend/databend-jdbc/
13+
1. 访问 Maven 中央仓库:https://repo1.maven.org/maven2/com/databend/databend-jdbc/
1414
2. 点击最新版本的目录。
1515
3. 下载 jar 文件,例如,_databend-jdbc-0.1.1.jar_
1616

@@ -64,13 +64,13 @@ Databend JDBC 驱动以 JAR 文件形式提供,可以直接集成到您的基
6464

6565
Databend 的 JDBC 驱动通常遵循 JDBC 规范。以下是一些常见基本行为、相关关键函数及其原理的列表。
6666

67-
| 基本行为 | 关键功能 | 原理 |
68-
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
69-
| 建立连接 | `DriverManager.getConnection`, `Properties.setProperty` | `getConnection` 使用提供的连接字符串与 Databend 建立连接。<br /><br />`Properties` 对象用于构造连接参数,例如 `user``password`,这些参数也可以在连接字符串中指定。 |
70-
| 执行查询 | `Statement.createStatement()`, `Statement.execute()` | `Statement.execute()` 通过 `v1/query` 接口执行查询。 |
71-
| 批量插入 | `Connection.prepareStatement()`, `PrepareStatement.setInt()`, `PrepareStatement.setString()`, `PrepareStatement.addBatch()`, `PrepareStatement.executeBatch()`, 等。 | Databend 支持使用 `PrepareStatement` 对象进行批量插入和替换(`INSERT INTO``REPLACE INTO`)。<br /><br />`PrepareStatement.setXXX()` 方法用于将值绑定到语句的参数。<br /><br />`PrepareStatement.addBatch()` 将尽可能多的数据添加到创建的语句对象的批处理中。<br /><br />`PrepareStatement.executeBatch()` 将数据上传到内置 Stage 并执行插入/替换操作,利用 [Stage 附件](/developer/apis/http#stage-attachment)|
72-
| 上传文件到内部 Stage | `Connection.uploadStream` | 数据将被上传到 Stage。默认情况下,使用 `PRESIGN UPLOAD` 获取 URL,或者如果 PRESIGN 被禁用,则使用 `v1/upload_to_stage` API。 |
73-
| 从内部 Stage 下载文件 | `Connection.downloadStream` | 数据将使用 `PRESIGN DOWNLOAD` 获取 URL 从 Stage 下载。 |
67+
| 基本行为 | 关键功能 | 原理 |
68+
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
69+
| 建立连接 | `DriverManager.getConnection`, `Properties.setProperty` | `getConnection` 使用提供的连接字符串与 Databend 建立连接。<br /><br />`Properties` 对象用于构造连接参数,例如 `user``password`,这些参数也可以在连接字符串中指定。 |
70+
| 执行查询 | `Statement.createStatement()`, `Statement.execute()` | `Statement.execute()` 通过 `v1/query` 接口执行查询。 |
71+
| 批量插入 | `Connection.prepareStatement()`, `PrepareStatement.setInt()`, `PrepareStatement.setString()`, `PrepareStatement.addBatch()`, `PrepareStatement.executeBatch()`, 等。 | Databend 支持使用 `PrepareStatement` 对象进行批量插入和替换(`INSERT INTO``REPLACE INTO`)。<br /><br />`PrepareStatement.setXXX()` 方法用于将值绑定到语句的参数。<br /><br />`PrepareStatement.addBatch()` 将尽可能多的数据添加到创建的语句对象的批处理中。<br /><br />`PrepareStatement.executeBatch()` 将数据上传到内置 Stage 并执行插入/替换操作,利用 [Stage Attachment](/developer/apis/http#stage-attachment)|
72+
| 上传文件到内部 Stage | `Connection.uploadStream` | 数据将被上传到 Stage。默认情况下,使用 `PRESIGN UPLOAD` 获取 URL,或者如果禁用了 PRESIGN,则使用 `v1/upload_to_stage` API。 |
73+
| 从内部 Stage 下载文件 | `Connection.downloadStream` | 数据将使用 `PRESIGN DOWNLOAD` 获取 URL 从 Stage 下载。 |
7474

7575
## 配置连接字符串
7676

@@ -80,7 +80,7 @@ Databend 的 JDBC 驱动通常遵循 JDBC 规范。以下是一些常见基本
8080
jdbc:databend://<username>:<password>@<host_port>/<database>?<connection_params>
8181
```
8282

83-
`connection_params` 指的是一系列一个或多个格式为 `param=value` 的参数。每个参数应由 & 字符分隔,连接字符串中不应有任何空格。这些参数可以在连接字符串中设置,也可以在传递给 DriverManager.getConnection() 方法的 Properties 对象中设置。例如:
83+
`connection_params` 指的是一系列一个或多个 `param=value` 格式的参数。每个参数应由 & 字符分隔,连接字符串中不应有任何空格。这些参数可以在连接字符串中设置,也可以在传递给 `DriverManager.getConnection()` 方法的 Properties 对象中设置。例如:
8484

8585
```java
8686
Properties props = new Properties();
@@ -101,9 +101,9 @@ package com.example;
101101
import java.sql.*;
102102
import java.util.Properties;
103103

104-
public class demo {
104+
public class Main {
105105
// 以连接到本地 Databend 并使用名为 'user1' 和密码 'abc123' 的 SQL 用户为例。
106-
// 请根据实际情况使用您自己的值,同时保持相同的格式。
106+
// 请随意使用您自己的值,同时保持相同的格式。
107107
static final String DB_URL = "jdbc:databend://127.0.0.1:8000";
108108

109109
public static void main(String[] args) throws Exception {
@@ -126,13 +126,13 @@ public class demo {
126126
stmt.close();
127127
conn.close();
128128
System.exit(0);
129+
}
130+
}
129131
```
130132

131-
### 示例:复制到表或合并到表
133+
### 示例:复制或合并到表
134+
132135

133-
```java
134-
// 示例代码待补充
135-
```
136136

137137
```java
138138
public void copyInto(String tableName, List<String> files) throws Exception {
@@ -158,13 +158,13 @@ public class demo {
158158

159159
:::tip
160160

161-
1. 由于诸如 SELECTCOPY INTOMERGE INTOSQL 命令返回一个 ResultSet 对象,因此在访问数据之前需要调用 rs.next()。如果不这样做,可能会导致查询被取消。如果你不打算检索结果,可以使用 while 循环(while (r.next()){})遍历 ResultSet 以避免此问题。
162-
2. 对于其他非查询类型的 SQL 命令,如 CREATE TABLEDROP TABLE,可以直接调用 statement.execute()。
161+
1. 由于 SELECT、COPY INTO 和 MERGE INTO 等 SQL 命令返回一个 ResultSet 对象,因此需要在访问数据之前调用 rs.next()。否则,查询可能会被取消。如果不打算检索结果,可以使用 while 循环(while (r.next()){})遍历 ResultSet 以避免此问题。
162+
2. 对于 CREATE TABLE 或 DROP TABLE 等非查询类型的 SQL 命令,可以直接调用 statement.execute()。
163163
:::
164164

165165
### 示例:批量插入
166166

167-
在你的 Java 应用程序代码中,可以通过在 INSERT 语句中绑定参数并调用 addBatch() 和 executeBatch() 来一次性插入多行。
167+
在您的 Java 应用程序代码中,可以通过在 INSERT 语句中绑定参数并调用 addBatch() 和 executeBatch() 来一次性插入多行。
168168

169169
例如,以下代码向包含 INT 列和 VARCHAR 列的表中插入两行。该示例在 INSERT 语句中绑定值并调用 addBatch() 和 executeBatch() 来执行批量插入。
170170

@@ -259,15 +259,15 @@ pstmt.close();
259259

260260
### 示例:与 Databend Cloud 集成
261261

262-
在开始之前,请确保你已成功创建了一个仓库并获取了连接信息。如何操作,请参阅 [连接到仓库](/guides/cloud/using-databend-cloud/warehouses#connecting)。
262+
在开始之前,请确保您已成功创建了一个仓库并获取了连接信息。具体操作方法请参见 [连接到仓库](/guides/cloud/using-databend-cloud/warehouses#connecting)
263263

264264
#### 步骤 1. 使用 Maven 添加依赖
265265

266266
```xml
267267
<dependency>
268268
<groupId>com.databend</groupId>
269269
<artifactId>databend-jdbc</artifactId>
270-
<version>0.2.1</version>
270+
<version>0.2.8</version>
271271
</dependency>
272272
```
273273

@@ -278,11 +278,7 @@ pstmt.close();
278278
```java
279279
package databend_cloud;
280280

281-
import java.sql.SQLException;
282-
import java.sql.DriverManager;
283-
import java.sql.Connection;
284-
import java.sql.Statement;
285-
import java.sql.ResultSet;
281+
import java.sql.*;
286282
import java.util.Properties;
287283

288284
public class sample {
@@ -318,26 +314,26 @@ public class sample {
318314
ps.setString(5, "[1,2,3,4,5]");
319315
ps.addBatch();
320316
int[] ans = ps.executeBatch();
321-
Statement statement = c.createStatement();
322-
323-
System.out.println("execute select on object");
324-
statement.execute("SELECT * from objects_test1");
325-
ResultSet r = statement.getResultSet();
326-
327-
while (r.next()) {
328-
System.out.println(r.getInt(1));
329-
System.out.println(r.getString(2));
330-
System.out.println(r.getTimestamp(3).toString());
331-
System.out.println(r.getString(4));
332-
System.out.println(r.getString(5));
317+
Statement s = connection.createStatement();
318+
319+
System.out.println("execute select on table");
320+
statement.execute("SELECT * from sample_test");
321+
ResultSet r2 = statement.getResultSet();
322+
323+
while (r2.next()) {
324+
System.out.println(r2.getInt(1));
325+
System.out.println(r2.getString(2));
326+
System.out.println(r2.getTimestamp(3).toString());
327+
System.out.println(r2.getString(4));
328+
System.out.println(r2.getString(5));
333329
}
334330
connection.close();
335331
}
336332
}
337333
```
338334

339335
:::tip
340-
在代码中替换 `{USER}, {PASSWORD}, {WAREHOUSE_HOST}, 和 {DATABASE}` 为你的连接信息。如何获取连接信息,请参阅 [连接到仓库](/guides/cloud/using-databend-cloud/warehouses#connecting)。
336+
在代码中替换 `{USER}, {PASSWORD}, {WAREHOUSE_HOST}, 和 {DATABASE}` 为您的连接信息。如何获取连接信息,请参见 [连接到仓库](/guides/cloud/using-databend-cloud/warehouses#connecting)
341337
:::
342338

343339
#### 步骤 3. 使用 Maven 运行示例

0 commit comments

Comments
 (0)