IDEA下springboot+jpa连接oracle数据库

之前用Springboot连接的都是MySQL,这次要求换成Oracle,其实区别不是很大,主要就是改一下配置文件。下面写一个简单的例子,实现springboot对oracle数据库的查询操作。
(springboot+jpa实现增删改查网上教程很多)

新建Springboot项目

新建Spring项目,目录结构如下:
IDEA下springboot+jpa连接oracle数据库_第1张图片
新建实体类CityTest:

@Entity
public class CityTest {

    @Id
    @GeneratedValue
    private Long id;

    private String name;
    private String city;

//以下可右键自动生成
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
}

新建CityTestRepository,实现jpa接口:

public interface CityTestRepository extends JpaRepository<CityTest, Long> {
}

新建服务层CityTestService:

@Service
public class CityTestService {
    @Autowired
    private CityTestRepository cityTestRepository;
    //获取所有信息
    public List<CityTest> getAllCityTest() {
        return cityTestRepository.findAll();
    }
}

新建控制层CityTestController:

@RestController
public class CityTestController {
    @Autowired
    private CityTestService cityTestService;
    
    @GetMapping("list")
    private List<CityTest> getAllCityTest(Model model) {
        return cityTestService.getAllCityTest();
    }
}

添加需要的依赖

在pom.xml中添加如下依赖:

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-data-jpaartifactId>
        dependency>

        <dependency>
            <groupId>com.oraclegroupId>
            <artifactId>ojdbc6artifactId>
            <version>11.2.0.4version>
        dependency>

注意:ojdbc驱动不对外公开,因此无法直接引入,需要手动导入。否则运行会报如下错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSource’ defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.tomcat.jdbc.pool.DataSource]: Factory method ‘dataSource’ threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: oracle.jdbc.driver.OracleDriver

手动导入ojdbc依赖

  1. 自行下载ojdbc驱动的jar包:
    官网下载:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
    百度云盘下载:https://pan.baidu.com/s/1mgKayKS
  2. 放入项目所在文件夹下。
  3. 右键项目名,选择Open Moudle Settings -> Project Settings -> Libraries,添加New Project Libraries -> Java,选择刚才放入项目文件夹的ojdbc6.jar包并导入。
    IDEA下springboot+jpa连接oracle数据库_第2张图片

修改application.properties配置文件

spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:49161:helowin
spring.datasource.username=rocy
spring.datasource.password=rocy
spring.jpa.database=oracle

其中,需替换自己的oracle的端口、实例名/服务器名、用户名、密码。
如没有成功导入ojdbc6的依赖包,第一行的jdbc.OracleDriver会显示为红色。

运行项目

oracle数据库中的表如下:
IDEA下springboot+jpa连接oracle数据库_第3张图片
运行springboot项目,在浏览器上输入网址:http://localhost:8080/list ,成功得到oracle数据库查询结果。
IDEA下springboot+jpa连接oracle数据库_第4张图片

你可能感兴趣的:(环境搭建)