# 附:使用Oracle等数据库
## 使用Oracle等其他数据库
> 项目主要使用JPA作为持久层面向对象开发,利于移植,大部分代码不依赖于数据源,下面以Oracle为例说明需要修改替换的关键点,其他数据库同理
### 替换数据库驱动
* 在`pom.xml`中将原`MySQL`数据库驱动替换为相应数据库驱动
~~~
<!-- Oracle数据库 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 微软SQL Server数据库 -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<scope>runtime</scope>
</dependency>
<!-- PostgreSQL数据库 -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<!-- IBM DB2数据库 -->
<dependency>
<groupId>com.ibm.db2</groupId>
<artifactId>jcc</artifactId>
<scope>runtime</scope>
</dependency>
<!-- MySQL数据库 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
... ...
~~~
### 修改数据库配置
* 修改配置文件中修改相应数据库的配置,下面以Oracle为例
~~~
spring:
datasource:
# 相应数据库驱动
driver-class-name: oracle.jdbc.driver.OracleDriver
# 链接url 如 jdbc:oracle:thin:@IP:端口:你的Oracle服务名/SID
url: jdbc:oracle:thin:@localhost:1521:orcl
username: 用户名
password: 密码
~~~
### 修改MybatisPlus分页插件指定数据库
* 在`MybatisPlusConfig.java`中修改分页插件指定的数据库类型
~~~
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
...
// 指定数据库类型
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
...
}
}
~~~
### 修改Mybatis相关的Mapper.xml和JPA自定义SQL语句
* 不同数据库SQL语法可能存在差异,需要修改Mapper.xml以及使用到自定义SQL的地方
![](https://img.kancloud.cn/89/56/89563261cdc40eaf3bec4520d02db6b3_506x170.png)
### 其他
* 可能部分数据库存在其他差异,请根据报错提示修改解决
- 前言版本&说明
- 概念
- Tceon-PERFOOT 是什么?
- 系统架构
- 主要使用的开源组件
- 角色控制访问权限(RBAC)
- 用户手册
- 系统配置
- 工作流使用配置
- 定时任务调度
- 项目本地运行
- 后端运行
- 前端运行
- 项目结构说明
- 附:使用Oracle等数据库
- 模块化版本
- 后端开发指南
- 基本开发指南
- 前后端数据交互标准
- 工具类及数据权限
- 代码生成器
- 增删改查CRUD
- 日志类型注解扩展
- 逻辑删除
- 各验证码使用及配置
- 前端开发指南
- 基本开发指南
- 主题/Logo/首页等配置
- 路由菜单配置
- 多语言国际化配置
- 自定义图标icon
- 工具类及数据获取
- 完整版开发指南
- 前端Vue代码生成器
- Activiti工作流
- 单点登录配置
- MinIO对象存储服务搭建
- 第三方社交账号配置
- 短信开发/站内消息/邮件
- Vaptcha验证码
- 禁用词使用
- Monaco代码编辑器
- 开放平台及单点登录
- 开放平台使用指南
- Web接入开发流程
- 单点登录开发指南
- 微信小程序端开发指南
- 项目导入与开发必读
- 通用方法工具类说明
- Uniapp端开发指南
- APP后端开发指南
- Uniapp前端开发指南
- 开发新功能示例
- 后端开发新模块
- 前端开发新页面
- 测试
- SonarQube代码质量管理
- TestNG单元测试
- ExtentReports测试报告
- Selenuim自动化Web测试
- Appuim自动化App测试
- JMeter压测性能测试
- 部署
- Spring Boot配置
- 快速部署
- 后端部署
- 前端部署
- 前端部署优化
- Docker容器化部署
- 服务器配置
- DevOps环境搭建
- 组件安装列表
- 开发设计规范
- 分支管理
- 数据库设计规范
- Redis使用规范
- Java基础开发规范
- Rest API规范
- 项目结构规范
- 前端开发规范
- 前端设计规范
- 项目搭建分享
- 后端相关
- SpringBoot 2.x区别总结
- Spring Security整合JWT
- Spring Security动态权限管理
- Spring Boot 2.x整合Quartz
- Spring Boot 2.x整合Websocket
- Spring Boot 2.x整合Activiti工作流以及模型设计器
- Spring Boot + Security全局跨域配置
- 前端相关
- axios请求封装 统一异常处理
- 动态路由菜单加载
- 多维度控制权限至按钮显示
- 发送消息图标红点实时显示
- 动态组件单页操作
- 常见问题