SpringBoot+SpringDataJpa 整合Oracle数据库

SpringBoot+SpringDataJpa 整合Oracle数据库

1. 驱动下载

由于oracle没有授权,所以不能从Maven仓库里面直接下载。需要先去官网下载之后使用。
这里的连接不是官网的,但是工具包是从官网上下载的。
下载连接
下载完成后,上传至公司内部的maven仓库,配置好就可以使用了。

在Oracle 数据库中,一个用户就对应一个数据库。数据库的创建方式也不同于sql server 和Mysql数据库

#创建用户
#create user username identified by password;
#创建了一个用户名为root密码为123456的用户
create root username identified by 123456;

#创建表空间
---查看表空间位置
Select * FROM DBA_DATA_FILES;
# 查看到表空间位置才能知道数据库的文件是存放在哪里的

# 创建表空间
# create tablespace tablespacename datafile 'd:\\data.dbf' size xxxm;
-- tablespacename 表空间名称
-- d:\\data.dbf 是表空间的位置。
-- xxxm 表示表空间的大小,单位为兆
create tablespace ships datafile '/user/data/ships.dbf' size 512m;

# 分配表空间给指定的用户。
#alter user username default tablespace tablespacename;
alter user root default tablespace ships;

按照上述步骤操作就可以了,
可能会出现不能登录的情况 提示是 can not create session 之类的提示语句
说明我们没有给这个用户授权创造连接的session
系统用户登录之后对其进行授权

#grant create session to username;
grant create session to root;

这样就可以在Native上进行登录了

2. 配置

spring boot 配置文件

#Oracle 配置
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
# Oracle settings
#这里不需要指定哪个数据库,因为oracle一个用户就对应一个数据库
# 这里的连接方式是SID方式 格式如下,SID为空就可以不写
#jdbc:oracle:thin:@<host>:<port>:<SID>
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=root
spring.datasource.password=123456

# JPA 相关配置
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

3. 填坑

在启动程序时提示了 ORA-00942: 表或视图不存在 在向上翻看日志发现是 ORA-01031: 权限不足 导致JPA没有自动创建成功相关的表
这是由于我们创建的用户没有相关的权限导致的
所以还是要用系统用户进行登录,执行下面的语句,授予所有权限给指定的用户。

#grant all privileges to username
grant all privileges to root;
发布了15 篇原创文章 · 获赞 14 · 访问量 7024

猜你喜欢

转载自blog.csdn.net/i_wonder_how_/article/details/100116837