之前用Springboot连接的都是MySQL,这次要求换成Oracle,其实区别不是很大,主要就是改一下配置文件。下面写一个简单的例子,实现springboot对oracle数据库的查询操作。
(springboot+jpa实现增删改查网上教程很多)
新建Springboot项目
新建Spring项目,目录结构如下:
新建实体类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.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</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依赖
- 自行下载ojdbc驱动的jar包:
官网下载:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
百度云盘下载:https://pan.baidu.com/s/1mgKayKS - 放入项目所在文件夹下。
- 右键项目名,选择Open Moudle Settings -> Project Settings -> Libraries,添加New Project Libraries -> Java,选择刚才放入项目文件夹的ojdbc6.jar包并导入。
修改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数据库中的表如下:
运行springboot项目,在浏览器上输入网址:http://localhost:8080/list ,成功得到oracle数据库查询结果。