《spring boot》8.2章学习时无法正常启动,报“ORA-00942: 表或视图不存在 ”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《spring boot》8.2章学习时无法正常启动,报“ORA-00942: 表或视图不存在 ”相关的知识,希望对你有一定的参考价值。

  在学习《spring boot》一书的过程中,由于原书作者难免有一些遗漏的的地方,或者系统、软件版本不一致、框架更新等各种因素,完全安装书中源码页不能实现项目的正常启动

  在8.2章节,演示JPA对oracle的支持时,配置文件中设置了如下代码,正常情况下应该支持数据库自动创建序列和表,但实际启动时却报错“ORA-00942: 表或视图不存在 ”

  

spring.datasource.driverClassName=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc\\:oracle\\:thin\\:@localhost\\:1521\\:xe
spring.datasource.username=XXXXX(此处请替换为你的数据库用户名)
spring.datasource.password=XXXXX(此处请替换为你的数据库用户名对应的密码)
#1
spring.jpa.hibernate.ddl-auto=update
#2
spring.jpa.show-sql=true
#3
spring.jackson.serialization.indent-output=true

 

   需要插入数据的data.sql:

insert into person(id,name,age,address) values(hibernate_sequence.nextval,xxx‘,32,‘合肥‘);
insert into person(id,name,age,address) values(hibernate_sequence.nextval,‘xx‘,31,‘北京‘);
insert into person(id,name,age,address) values(hibernate_sequence.nextval,‘yy‘,30,‘上海‘);
insert into person(id,name,age,address) values(hibernate_sequence.nextval,‘zz‘,29,‘南京‘);
insert into person(id,name,age,address) values(hibernate_sequence.nextval,‘aa‘,28,‘武汉‘);
insert into person(id,name,age,address) values(hibernate_sequence.nextval,‘bb‘,27,‘合肥‘);

  解决办法:

  在src/main/resources下面在新建一个schema.sql,内容如下:

create sequence hibernate_sequence increment by 1 start with 1 maxvalue 999999999;
CREATE TABLE person (id  NUMBER(5) PRIMARY KEY,name  VARCHAR2(15) NOT NULL,age NUMBER(5),address VARCHAR2(15)) TABLESPACE  your_table_space(此处替换为你登录的数据库账户对应的表空间,若还没有表空间,那你需要添加一行创建表空间的sql在这段代码的开头)

  表空间可以在这里查看:

技术分享

 

   如果项目启动完成,访问页面出现“Whitelabel Error Page”, 请调整项目代码的文件结构:

com  
 +- example  
     +- myproject  
         +- Application.java  
         |  
         +- domain  
         |   +- Customer.java  
         |   +- CustomerRepository.java  
         |  
         +- service  
         |   +- CustomerService.java  
         |  
         +- web  
             +- CustomerController.java  

 

  本文的解决方案完全参考自如下链接:

  http://blog.csdn.net/lvyuan1234/article/details/65631176

以上是关于《spring boot》8.2章学习时无法正常启动,报“ORA-00942: 表或视图不存在 ”的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 搜索无法正常工作

Python学习笔记__8.2章 调试

带有 Spring Boot 2.0 @ConfigurationProperties 的 Kotlin 无法正常工作

Spring Boot 定时任务,怎么实现任务动态增删启停?

如何解决在使用 Spring Boot 和 Spring Security 启用 CSRF 后无法正常工作的登录问题?

Spring Boot Dubbo 应用启停源码分析