SpringBoot集成Oracle实战和坑

简介: 前段时间搞了一个oracle的项目,耗费了很多时间,现在项目整体上线了,在此记录下实战过程以及遇到的坑,有需要的网友也可以直接拿去使用。

前言

前段时间搞了一个oracle的项目,耗费了很多时间,现在项目整体上线了,在此记录下实战过程以及遇到的坑,有需要的网友也可以直接拿去使用。

1.导包

springboot版本:2.1.3。最好是10以上的,网上说10以下的有些问题。我自己没测试。

<!--oracle驱动-->
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
</dependency>

2. 配置文件:数据库信息

# oracle datasource 数据库访问配置  默认 
spring.datasource.platform.url = jdbc:oracle:thin:@127.0.0.1:1521/orcl
spring.datasource.platform.username = LOCAL
spring.datasource.platform.password = LOCAL
spring.datasource.platform.driver-class-name = oracle.jdbc.OracleDriver

注意:这里orcl是服务名,而不是sid。如果是sid,则是1521:sid。两个符号代表的意义不同,一般运维给的都是服务名,如果连接不上再确认密码无误后,可以和同事确认下,是个小坑

还有这里的配置名称多了platform.是因为我用的分库分表,自配的数据库config。如果你不是,而是那种自动获取的话需要去掉,否则spring获取不到就无法连接。

这里username不允许是管理员级别,否则会报连接数据库错误。

辟谣

有的博主不自己实验就瞎说,上面报错说:用户名后加上as sysdba,就可以解决。我自己试了一下启动的确是不报连接数据库错误了,但是在查询数据库时却会报找不到表或者视图。还是推荐你自己建立一个用户,这个和oracle自己本身的规则有关。

3.代码

像我们通常使用的controller、service、mapper、model等都可以通过工具生成(idea),可以参考我的这篇文章,里面有配好的oracle模板以及详细教程:https://blog.csdn.net/zth_killer/article/details/130225708

具体代码我就不贴了,网址里也有具体效果图。配号模板,全程一键自动即可。但是如果你用的不是idea就可能要手动写了。这里我说几个手写时的注意点,主要是xml的:

1.Oracle建表时没有自增ID,需要配置。我用的都是varchar2没有配置自增的,需要网友自己搜索下;

2.虽然我不是自增,但是模板是按照自增的设计的(涉及到初始模板)。所以如果你和我一样的话,新增需要手动加下,然后修改有需要的话也改一下。不推荐改动模板;

3.oracle中是没有limit分页的,所以需要注意修改,我的模板中没有因为这次需求只有一个分页,需求量大的可以自己加上,研究一下很简单;

其次我们有的会集成MyBatis分页,如果传入page参数就会触发,然后sql报错

4.手动写代码时,字段名需要用“”包含,否则会报sql执行错误

问题更新

1.一直报这个驱动类找不到,但是这个驱动类jar包已经添加到项目了,并且我也反编译jar包,确认路径是对的。后来将target文件夹删掉重新编译,就没有问题了;

2.在上面中说到字段名需要加“”,是因为有的字段是特殊字段,比如DATE等,所以在模板中就直接都加上了;

3.其实使用管理员登录也是可以,但是查询时需要加上库名.表名(自身感觉多此一举,不推荐);

今天就到这里吧,感觉有用的小伙伴可以点个赞;有其它意见和问题的也可以在下面评论,看到后会及时回复。你的支持就是我更新的最大动力!

相关文章
|
2月前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
175 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
3月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
10天前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
36 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
2月前
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
61 0
|
3月前
|
自然语言处理 Java API
Spring Boot 接入大模型实战:通义千问赋能智能应用快速构建
【10月更文挑战第23天】在人工智能(AI)技术飞速发展的今天,大模型如通义千问(阿里云推出的生成式对话引擎)等已成为推动智能应用创新的重要力量。然而,对于许多开发者而言,如何高效、便捷地接入这些大模型并构建出功能丰富的智能应用仍是一个挑战。
380 6
|
4月前
|
缓存 NoSQL Java
Springboot实战——黑马点评之秒杀优化
【9月更文挑战第27天】在黑马点评项目中,秒杀功能的优化对提升系统性能和用户体验至关重要。本文提出了多项Spring Boot项目的秒杀优化策略,包括数据库优化(如索引和分库分表)、缓存优化(如Redis缓存和缓存预热)、并发控制(如乐观锁、悲观锁和分布式锁)以及异步处理(如消息队列和异步任务执行)。这些策略能有效提高秒杀功能的性能和稳定性,为用户提供更佳体验。
235 6
|
4月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
96 2
zabbix agent集成percona监控MySQL的插件实战案例
|
3月前
|
Dart Android开发
鸿蒙Flutter实战:03-鸿蒙Flutter开发中集成Webview
本文介绍了在OpenHarmony平台上集成WebView的两种方法:一是使用第三方库`flutter_inappwebview`,通过配置pubspec.lock文件实现;二是编写原生ArkTS代码,自定义PlatformView,涉及创建入口能力、注册视图工厂、处理方法调用及页面构建等步骤。
84 0
|
5月前
|
NoSQL Java Redis
Redis6入门到实战------ 八、Redis与Spring Boot整合
这篇文章详细介绍了如何在Spring Boot项目中整合Redis,包括在`pom.xml`中添加依赖、配置`application.properties`文件、创建配置类以及编写测试类来验证Redis的连接和基本操作。
Redis6入门到实战------ 八、Redis与Spring Boot整合
|
5月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
85 1

推荐镜像

更多