《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 官方文档学习(一)入门及使用
		个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念, ... 
- Spring boot官方文档学习(一)
		个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念, ... 
- 20191127 Spring Boot官方文档学习(9.1-9.3)
		9."使用方法"指南 9.1.Spring Boot应用程序 9.1.1.创建自己的FailureAnalyzer FailureAnalyzer被包装在FailureAnalys ... 
- spring boot guava cache 缓存学习
		http://blog.csdn.net/hy245120020/article/details/78065676 ****************************************** ... 
- Spring实战第六章学习笔记————渲染Web视图
		Spring实战第六章学习笔记----渲染Web视图 理解视图解析 在之前所编写的控制器方法都没有直接产生浏览器所需的HTML.这些方法只是将一些数据传入到模型中然后再将模型传递给一个用来渲染的视图. ... 
- Spring实战第五章学习笔记————构建Spring Web应用程序
		Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那 ... 
- Spring实战第四章学习笔记————面向切面的Spring
		Spring实战第四章学习笔记----面向切面的Spring 什么是面向切面的编程 我们把影响应用多处的功能描述为横切关注点.比如安全就是一个横切关注点,应用中许多方法都会涉及安全规则.而切面可以帮我 ... 
- Spring Boot + JPA(hibernate 5) 开发时,数据库表名大小写问题
		(转载)Spring Boot + JPA(hibernate 5) 开发时,数据库表名大小写问题 这几天在用spring boot开发项目, 在开发的过程中遇到一个问题hibernate在执 ... 
- 20191110 Spring Boot官方文档学习(4.2)
		4.2.外部化配置 Spring Boot使您可以外部化配置,以便可以在不同环境中使用相同的应用程序代码.您可以使用Properties文件,YAML文件,环境变量和命令行参数来外部化配置.属性值可以 ... 
随机推荐
- H5C3--线性渐变 linear-gradient,径向渐变radial-gradient,重复渐变radial-gradient
			一.线性渐变 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ... 
- svn清理以下路径失败
			网上说是svn的数据库挂了 删除里免得数据就好了 用sqllite...嗯? 那我还得下载一个?超过五秒钟的工作我是不会去做的 打开navicat 清空表 再次尝试清理 
- 加载selenium2Library失败---robotframework环境搭建(site-packages下无selenium2library文件夹)
			加载Selenium2library失败,检查D:\Python27\Lib\site-packages 目录下是否有Selenium2Library 目录,没有该目录,事情就尴尬了. 自己安装的版本 ... 
- ACM-ICPC 2019 西安邀请赛 D.Miku and Generals(二分图+可行性背包)
			“Miku is matchless in the world!” As everyone knows, Nakano Miku is interested in Japanese generals, ... 
- POJ1991 NOI1999棋盘分割
			棋盘分割 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 15581 Accepted: 5534 Description ... 
- Vue2.0史上最全入坑教程(中)—— 脚手架代码详解
			书接上文我们说道,如何利用脚手架(vue-cli)构建一个vue项目,本回书我们一起来学习分析下代码. 回顾下创建后的项目目录: 说明:在*.vue文件,template标签里写html代码,且t ... 
- 存储过程--mysql
			https://zhuanlan.zhihu.com/p/23423264 存储过程-官方解释: 是sql语句和控制语句的预编译集合.以一个名称存储并作为一个单元处理. 存储过程-直白的说: 把需要的 ... 
- ORACLE 使用笔记
			ORACLE TRUNC()函数 TRUNC():类似截取函数,按指定的格式截取输入的数据. 1.[trunc(for dates)]TRUNC()函数处理日期 语法格式:TRUNC(date[,fm ... 
- mysql的三种连接方式
			SQL的三种连接方式分为:左外连接.右外连接.内连接,专业术语分别为:LEFT JOIN.RIGHT JOING.INNER JOIN 内连接INNER JOIN:使用比较运算符来根据指定的连接的每个 ... 
- JavaScript--取消a标签和form的submit提交默认行为
			<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
