SpringBatch 连接 seekdb 示例程序
本文将介绍如何使用 SpringBatch 框架和 seekdb 构建一个应用程序,实现创建表、插入数据和查询数据等基本操作。
点击下载 java-oceanbase-springbatch 示例工程
前提条件
- 您已安装 seekdb。
- 您已安装 JDK 1.8 和 Maven。
- 您已安装 IntelliJ IDEA。
本文档运行代码使用的工具是 IntelliJ IDEA 2021.3.2 (Community Edition) 版本,您也可以根据个人喜好选择适合自己的工具运行示例代码。
操作步骤
本文中给出的操作步骤是基于 Windows 环境生成。如果您使用的是其他操作系统环境或编译器,那么操作步骤可能会略有不同。
- 获取 seekdb 连接串。
- 导入
java-oceanbase-springbatch项目到 IDEA 中。 - 修改
java-oceanbase-springbatch项目中的数据库连接信息。 - 运行
java-oceanbase-springbatch项目。
步骤一:获取 seekdb 连接串
-
联系 seekdb 部署人员或者管理员获取相应的数据库连接串。
mysql -hxx.xx.xx.xx -P2881 -uroot -p**** -A -
根据已部署的 seekdb 填写下面 URL 的对应信息。
信息在
application.properties文件中需要这里的 URL 信息。jdbc:oceanbase://host:port/schema_name?user=$user_name&password=$password&characterEncoding=utf-8参数说明:
host:提供 seekdb 的连接 IP。应该被实际的 IP 替换,也可以使用本地 IP 及 127.0.0.1。port:提供 seekdb 接端口。应该被实际的端口替换,默认是 2881,在部署 seekdb 时可自定义。schema_name:需要访问的 Schema 名称。user_name:通过-u参数指定,格式为 用户。默认用户为root。password:提供账户密码。characterEncoding:提供字符编码。
更多 URL 参数说明信息,请参见 数据库 URL。
步骤二:导入 java-oceanbase-springbatch 项目到 IDEA 中
-
打开 IntelliJ IDEA,选择 File > Open... 选项。

-
在弹出的 Open File or Project 窗口中,选择对应的项目文件,单击 OK 完成项目文件导入。
-
IntelliJ IDEA 将会自动识别项目中的各类文件,并在 Project 工具窗口中,可以查看项目的目录结构、文件列表、模块列表、依赖关系等信息。Project 工具窗口通常位于 IntelliJ IDEA 界面的最左侧,默认情况下是打开的。如果 Project 工具窗口被关闭了,可以通过点击菜单栏中的 View > Tool Windows > Project 或者使用快捷键 Alt + 1 来重新打开它。
信息当使用 IntelliJ IDEA 导入项目时,IntelliJ IDEA 会自动检测项目中的 pom.xml 文件,并根据文件中描述的依赖关系自动下载所需的依赖库,并将它们添加到项目中。
-
查看项目情况。

步骤三:修改 java-oceanbase-springbatch 项目中的数据库连接信息
根据 步骤一:获取 seekdb 连接串 中的信息修改 application.properties 文件中的数据库连接信息。
示例如下:
- 数据库驱动的名称为:
com.mysql.cj.jdbc.Driver - seekdb 的 IP 地址为
10.10.10.1。 - 访问端口使用的是 2881。
- 需要访问的 Schema 名称为
test。 - 连接账户是
root。 - 密码是
******。
示例代码如下:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:oceanbase://10.10.10.1:2881/test?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=******
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.batch.job.enabled=false
logging.level.org.springframework=INFO
logging.level.com.example=DEBUG
步骤四:运行 java-oceanbase-springbatch 项目
-
运行
AddDescPeopleWriterTest.java文件。- 在项目结构中找到 src > test > java 中找到
AddDescPeopleWriterTest.java文件。 - 在工具菜单栏中选择 Run > Run... > AddDescPeopleWriterTest.testWrite,或直接单击右上角绿色三角形运行。
- 通过 IDEA 的控制台来查看项目的日志信息和输出结果。
people_desc 表中的数据:
PeopleDESC [name=John, age=25, desc=This is John with age 25]
PeopleDESC [name=Alice, age=30, desc=This is Alice with age 30]
Batch Job execution completed. - 在项目结构中找到 src > test > java 中找到
-
运行
AddPeopleWriterTest.java文件。- 在项目结构中找到 src > test > java 中找到
AddDescPeopleWriterTest.java文件。 - 在工具菜单栏中选择 Run > Run... > AddPeopleWriterTest.testWrite,或直接单击右上角绿色三角形运行。
- 通过 IDEA 的控制台来查看项目的日志信息和输出结果。
people 表中的数据:
People [name=zhangsan, age=27]
People [name=lisi, age=35]
Batch Job execution completed. - 在项目结构中找到 src > test > java 中找到
常见问题
1. 连接超时
如果遇到连接超时问题,可以在 JDBC URL 中配置连接超时参数:
jdbc:mysql://host:port/database?connectTimeout=30000&socketTimeout=60000
2. 字符集问题
为确保正确的字符编码,在 JDBC URL 中设置正确的字符集参数:
jdbc:mysql://host:port/database?characterEncoding=utf8&useUnicode=true
3. SSL 连接
要启用与 seekdb 的 SSL 连接,在 JDBC URL 中添加以下参数:
jdbc:mysql://host:port/database?useSSL=true&requireSSL=true