当前位置: 首页 > news >正文

数据库直连提示 No suitable driver found for jdbc:postgresql

背景:我在代码里使用直连的方式在数据库中创建数据库等,由于需要适配各个数据库服务所以我分别兼容了mysql、postgresql、oracal等。但是在使用过程中会出现错误:

No suitable driver found for jdbc:postgresql

 但是我再使用mysql的直连方式创建方式时没有出现问题。

代码如下:

 Connection connection = null;Statement statement = null;try {connection = DriverManager.getConnection(url, loginUser, loginPwd);statement = connection.createStatement();//其他代码} catch (Exception e){LOGGER.error("创建数据库信息异常", e);result = false;} finally {close(connection, statement);}

出现这个的一个原因是没有 postgresql 依赖。所以我先将依赖加入:

<dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId>
</dependency>

 但是在之后的运行中还是提示这个错误。经过排查发现DriverManager中的driver列表只有mysql的Driver。没有postgresql的Driver。但是这个Driver的注册都是在类初始化的时候自动注册的:

 所以不知道为什么他没有注册到DriverManager里面。

解决办法是我们在任意的一个地方创建一下我们需要的Driver。例如postgresql的:

 Connection connection = null;
Statement statement = null;try {Class clazz = Class.forName("org.postgresql.Driver");clazz.newInstance();connection = DriverManager.getConnection(url, loginUser, loginPwd);statement = connection.createStatement();//其他代码} catch (Exception e){LOGGER.error("创建数据库信息异常", e);result = false;} finally {close(connection, statement);}

这样就会自动执行其中的静态代码块,实现注册Driver到DriverManager的目的。

http://www.lryc.cn/news/169313.html

相关文章:

  • Stability AI推出Stable Audio;ChatGPT:推荐系统的颠覆者
  • HTML中的<canvas>元素
  • 【论文阅读】MARS:用于自动驾驶的实例感知、模块化和现实模拟器
  • Leetcode 2856. Minimum Array Length After Pair Removals
  • 深入了解Vue.js框架:构建现代化的用户界面
  • 力扣 -- 673. 最长递增子序列的个数
  • 43.248.189.X网站提示风险,存在黑客攻击页面被篡改,改如何解决呢?
  • Java8中判断一个对象不为空存在一个类对象是哪个
  • 项目:点餐系统
  • ElasticSearch 5.6.3 自定义封装API接口
  • 企业架构LNMP学习笔记51
  • rom修改----安卓系列机型如何内置app 如何选择so文件内置
  • SpringMvc中的请求转发和重定向
  • Oracle,高斯创建自增序列
  • 操作系统学习笔记-精简复习版
  • 系统架构:软件工程速成
  • VUE之proxy配置实现跨域
  • AI与医疗保健:革命性技术如何拯救生命
  • Spring Boot + Vue3前后端分离实战wiki知识库系统<十三>--单点登录开发二
  • 基于Java的高校科研信息管理系统设计与实现(亮点:完整严谨的科研项目审批流程、多文件上传、多角色)
  • 【uniapp】Dcloud的uni手机号一键登录,具体实现及踩过的坑,调用uniCloud.getPhoneNumber(),uni.login()等
  • Qt Quick Layouts Overview
  • 星臾计划 | 第六期优秀实习生访谈合集
  • 《数字图像处理-OpenCV/Python》连载(7)视频文件的读取与保存
  • 安防监控/视频汇聚/云存储/AI智能视频分析平台EasyCVR显示CPU过载,该如何解决?
  • 如何彻底卸载mysql
  • 【深度学习实验】线性模型(二):使用NumPy实现线性模型:梯度下降法
  • 带你熟练使用list
  • 排序——希尔排序
  • 为什么文件夹里的文件看不到?了解原因及应对措施