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

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

相关文章
|
18天前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
28 2
zabbix agent集成percona监控MySQL的插件实战案例
|
1月前
|
NoSQL Java Redis
Redis6入门到实战------ 八、Redis与Spring Boot整合
这篇文章详细介绍了如何在Spring Boot项目中整合Redis,包括在`pom.xml`中添加依赖、配置`application.properties`文件、创建配置类以及编写测试类来验证Redis的连接和基本操作。
Redis6入门到实战------ 八、Redis与Spring Boot整合
|
1月前
|
前端开发 关系型数据库 测试技术
django集成pytest进行自动化单元测试实战
在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试框架,Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。
26 3
django集成pytest进行自动化单元测试实战
|
23天前
|
Java API UED
【实战秘籍】Spring Boot开发者的福音:掌握网络防抖动,告别无效请求,提升用户体验!
【8月更文挑战第29天】网络防抖动技术能有效处理频繁触发的事件或请求,避免资源浪费,提升系统响应速度与用户体验。本文介绍如何在Spring Boot中实现防抖动,并提供代码示例。通过使用ScheduledExecutorService,可轻松实现延迟执行功能,确保仅在用户停止输入后才触发操作,大幅减少服务器负载。此外,还可利用`@Async`注解简化异步处理逻辑。防抖动是优化应用性能的关键策略,有助于打造高效稳定的软件系统。
31 2
|
1月前
|
JSON 数据管理 关系型数据库
【Dataphin V3.9】颠覆你的数据管理体验!API数据源接入与集成优化,如何让企业轻松驾驭海量异构数据,实现数据价值最大化?全面解析、实战案例、专业指导,带你解锁数据整合新技能!
【8月更文挑战第15天】随着大数据技术的发展,企业对数据处理的需求不断增长。Dataphin V3.9 版本提供更灵活的数据源接入和高效 API 集成能力,支持 MySQL、Oracle、Hive 等多种数据源,增强 RESTful 和 SOAP API 支持,简化外部数据服务集成。例如,可轻松从 RESTful API 获取销售数据并存储分析。此外,Dataphin V3.9 还提供数据同步工具和丰富的数据治理功能,确保数据质量和一致性,助力企业最大化数据价值。
97 1
|
1月前
|
jenkins Java 持续交付
【一键搞定!】Jenkins 自动发布 Java 代码的神奇之旅 —— 从零到英雄的持续集成/部署实战秘籍!
【8月更文挑战第9天】随着软件开发自动化的发展,持续集成(CI)与持续部署(CD)已成为现代流程的核心。Jenkins 作为一款灵活且功能丰富的开源 CI/CD 工具,在业界应用广泛。以一家电商公司的 Java 后端服务为例,通过搭建 Jenkins 自动化发布流程,包括创建 Jenkins 项目、配置 Git 仓库、设置构建触发器以及编写构建脚本等步骤,可以实现代码的快速可靠部署。
52 2
|
21天前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
68 0
|
23天前
|
JSON Java API
解码Spring Boot与JSON的完美融合:提升你的Web开发效率,实战技巧大公开!
【8月更文挑战第29天】Spring Boot作为Java开发的轻量级框架,通过`jackson`库提供了强大的JSON处理功能,简化了Web服务和数据交互的实现。本文通过代码示例介绍如何在Spring Boot中进行JSON序列化和反序列化操作,并展示了处理复杂JSON数据及创建RESTful API的方法,帮助开发者提高效率和应用性能。
52 0
|
23天前
|
SQL Java 数据库连接
Spring Boot联手MyBatis,打造开发利器:从入门到精通,实战教程带你飞越编程高峰!
【8月更文挑战第29天】Spring Boot与MyBatis分别是Java快速开发和持久层框架的优秀代表。本文通过整合Spring Boot与MyBatis,展示了如何在项目中添加相关依赖、配置数据源及MyBatis,并通过实战示例介绍了实体类、Mapper接口及Controller的创建过程。通过本文,你将学会如何利用这两款工具提高开发效率,实现数据的增删查改等复杂操作,为实际项目开发提供有力支持。
54 0
|
23天前
|
Java 开发者 Spring
Spring Boot实战宝典:揭秘定时任务的幕后英雄,让业务处理如流水般顺畅,轻松驾驭时间管理艺术!
【8月更文挑战第29天】在现代应用开发中,定时任务如数据备份、报告生成等至关重要。Spring Boot作为流行的Java框架,凭借其强大的集成能力和简洁的配置方式,为开发者提供了高效的定时任务解决方案。本文详细介绍了如何在Spring Boot项目中启用定时任务支持、编写定时任务方法,并通过实战案例展示了其在业务场景中的应用,同时提供了注意事项以确保任务的正确执行。
30 0

热门文章

最新文章

推荐镜像

更多