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());
        }
     }
相关推荐
砚底藏山河2 小时前
拉数管道设计:从一次性脚本到可重启的数据流水线(魔码量化实战 #01)
java·数据库·python·金融·maven
饕餮争锋2 小时前
PATH路径列表介绍
java·linux·服务器
SimonKing2 小时前
一文终结 Java 路径加载争议:斜杠 什么时候该加,什么时候不该加
java·后端·程序员
2601_966377132 小时前
运营商密评密改落地实践:透明加密解决密码应用合规与安全痛点
数据库·安全·oracle
伯恩bourne2 小时前
Qdrant 快速入门 :数据模型介绍
服务器·数据库·人工智能
Rain的Java大神之路2 小时前
手写一个Spring容器
java·后端·mysql·spring·面试
小七在进步3 小时前
C++入门(1)
java·jvm·c++
AgentMaster3 小时前
元数据、血缘、质量、安全四大模块能力拆解,数据治理方案对比:4 种技术路线深度评测
大数据·数据库·数据仓库·人工智能·原型模式
Wang's Blog3 小时前
Java框架快速入门: Spring Security+OAuth2之定制登录页
java·开发语言·spring
霸道流氓气质3 小时前
Spring AI vs Spring AI Alibaba:技术选型与平滑迁移策略
java·人工智能·spring