JAVA中如何知道某项目使用什么数据库类型

文章目录

  • [1. 前言](#1. 前言)
  • [2. 先说结论](#2. 先说结论)
  • [3. 代码案例](#3. 代码案例)

1. 前言

  1. 最近在写第三方工具的时候,需要判断使用方项目具体使用了什么数据库类型,从而进行不一样的实现逻辑
  2. 当然可以让用户在YML中配置说明项目用什么数据库,但用户不一定填写正确。
  3. 因此需要想其他办法获取到该项目使用什么数据库类型。

2. 先说结论

  1. 在JDBC中其实有个东西叫DatabaseMetaData数据库源

  2. 其是由JDBC驱动程序实现的,用于提供底层数据源相关的信息。因此可以使用DatabaseMetaData接口提供的方法获取数据源信息。

  3. 可以获取到数据库是什么类型, 如下:

    java 复制代码
    DatabaseMetaData metaData = dataSource.getConnection().getMetaData();
    String dbType = metaData.getDatabaseProductName();

3. 代码案例

  1. 直接代码演示即可,DatabaseMetaData数据库源其实就提供底层数据源相关的信息,需要什么东西,从这里获取即可:

    java 复制代码
    @Component
    public class test {
    
        @Autowired
        private DataSource dataSource;
        
        @Scheduled(fixedRate = 5000)
        public void test3() throws Exception{
            DatabaseMetaData databaseMetaData = dataSource.getConnection().getMetaData();
            System.out.println("数据库URL:" + databaseMetaData.getURL());
            System.out.println("数据库用户名:" + databaseMetaData.getUserName());
            System.out.println("数据库产品名:" + databaseMetaData.getDatabaseProductName());
            System.out.println("数据库产品版本:" + databaseMetaData.getDatabaseProductVersion());
            System.out.println("数据库SQL关键字:" + databaseMetaData.getSQLKeywords());
        }
     }
相关推荐
春天的菠菜12 分钟前
【私服】一步部署 Docker 私服
java·docker·容器
云祺vinchin14 分钟前
云祺x鼎捷,为制造企业ERP打造双保险
数据库·安全·制造
有味道的男人17 分钟前
1688 跨境 API:多语言、跨境代采、独立站商品同步方案
java·服务器·前端
兩尛19 分钟前
C++多线程,并发
java·开发语言
我滴老baby22 分钟前
2026年AI Agent将走向何方?十大趋势深度解析:从多模态融合到自主决策,从端侧部署到具身智能,提前布局下一个万亿级市场
数据库·人工智能·知识图谱
逆境不可逃26 分钟前
Hello-Agents 第二部分-第六章:框架开发实践
java·人工智能·分布式·学习·架构·rabbitmq
我不是8神33 分钟前
面试题:Gorutine泄露的条件有哪些?
java·开发语言
爱好物理的一名程序员XiaoK35 分钟前
搭建网站时遇到的只显示空白界面
java
AC赳赳老秦35 分钟前
OpenClaw与思维导图工具联动:自动生成工作规划脑图、拆解任务节点,适配职场管理
java·大数据·服务器·数据库·python·php·openclaw
吴声子夜歌1 小时前
状态机——枚举实现简单状态机
java·枚举·状态机