---
title: "SpringBoot 连接 OceanBase 数据库 - OceanBase 数据库 V4.1.0 | OceanBase 文档中心"
description: SpringBoot 连接 OceanBase 数据库 本文介绍 SpringBoot 连接示例。 环境配置 JDK1.8 和 OceanBase 3.x（MySQL 模式/Oracle 模式） 示例代码 Pom.xml 文件 &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;proje…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.1.0

# SpringBoot 连接 OceanBase 数据库

更新时间：2025-07-21 17:17:36

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/300.develop/200.application-development-of-oracle-mode/100.database-connection-of-oracle-mode/700.connect-to-the-oceanbase-database-through-spring-boot-of-oracle-mode.md)  

本文介绍 SpringBoot 连接示例。

## 环境配置

JDK1.8 和 OceanBase 3.x（MySQL 模式/Oracle 模式）

## 示例代码

### Pom.xml 文件

```java
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.alipay.test</groupId>
    <artifactId>SpringBootOracleJPA</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>
    <dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>spring-boot-starter-json</artifactId>
                <groupId>org.springframework.boot</groupId>
            </exclusion>
        </exclusions>
    </dependency>

    <!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>2.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>12.1.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.oceanbase</groupId>
        <artifactId>oceanbase-client</artifactId>
        <version>2.4.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.47</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.8.5</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>1.9.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-juli</artifactId>
        <version>9.0.37</version>
    </dependency>
    </dependencies>

</project>

```

### application.yml 文件

```java
server:
  port: 8081
spring:
  jpa:
    database: oracle
    show-sql: true
  datasource:
      driver-class-name: com.oceanbase.jdbc.Driver
      url: jdbc:oceanbase://host:port/test?characterEncoding=UTF-8
      username: ******
      password: ******
#spring.jpa.hibernate.ddl-auto=update
jackson:
  serialization:
    indent_output: true

```

### 测试类

相关代码如下：

```java
package com.alipay;

import javax.persistence.*;
import java.io.Serializable;
import java.sql.Date;

/*
 * CREATE TABLE A(id integer, flightNo varchar2(50))
 *
 */
@Entity
@Table( name = "A" )
public class A implements Serializable {
    public Integer getFlightId() {
        return flightId;
    }

    public void setFlightId(Integer flightId) {
        this.flightId = flightId;
    }

    public String getFlightNo() {
        return flightNo;
    }

    public void setFlightNo(String flightNo) {
        this.flightNo = flightNo;
    }

    @Id
//    @GeneratedValue
// oracle 没有自增策略，添加该注解可以自动生成一个序列，提供自增主键，若数据库已有相关序列，可以忽 //略该注解。
    @Column(name = "id")
    private Integer flightId;

    @Column( name = "flightNo" )
    private String flightNo;

}

```

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface AMapper extends JpaRepository<A, Integer> {

}

```

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Optional;

@RestController
@RequestMapping("/")
public class Test {
    @Autowired
    private AMapper a;
    @GetMapping("/{id}")
    public String getOne(@PathVariable int id) {

        Optional<A> obj = a.findById(id);
        String result = "A.id is:" + obj.get().getFlightId() + ", no is :" + obj.get().getFlightNo();
        System.out.println(result);
        return result;
    }
}

```

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App
{
    public static void main( String[] args )
    {
        SpringApplication.run(App.class, args);
    }
}

```

运行上面的代码，返回如下日志则表示启动成功。

![SpringBoot 连接示例](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/observer-enterprise/V3.2.3/zh-CN/3.development-guide/4.database-design-specifications-and-practices/06.database-design-best-practices/02.development-framework-connection-database-example/01.springboot-connection-example/SpringBoot%20%E8%BF%9E%E6%8E%A5%E7%A4%BA%E4%BE%8B.png)

然后通过 `http://localhost:8081/xxxxx` 就可以访问数据库， `xxxxx` 就是对应的数据库 `id` 字段，如果数据库存在就可以查询到结果。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
