/** * Copyright (c) 2011-2014, hubin (jobob@qq.com). * <p> * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * <p> * http://www.apache.org/licenses/LICENSE-2.0 * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.baomidou.mybatisplus.toolkit; import com.baomidou.mybatisplus.enums.DBType; /** * <p> * JDBC 工具类 * </p> * * @author nieqiurong * @Date 2016-12-05 */ public class JdbcUtils { /** * <p> * 根据连接地址判断数据库类型 * </p> * * @param jdbcUrl * 连接地址 * @return */ public static DBType getDbType(String jdbcUrl) { if (StringUtils.isEmpty(jdbcUrl)) { return DBType.MYSQL; } if (jdbcUrl.startsWith("jdbc:mysql:") || jdbcUrl.startsWith("jdbc:cobar:") || jdbcUrl.startsWith("jdbc:log4jdbc:mysql:")) { return DBType.MYSQL; } else if (jdbcUrl.startsWith("jdbc:oracle:") || jdbcUrl.startsWith("jdbc:log4jdbc:oracle:")) { return DBType.ORACLE; } else if (jdbcUrl.startsWith("jdbc:microsoft:") || jdbcUrl.startsWith("jdbc:log4jdbc:microsoft:")) { return DBType.SQLSERVER; } else if (jdbcUrl.startsWith("jdbc:sqlserver:") || jdbcUrl.startsWith("jdbc:log4jdbc:sqlserver:")) { return DBType.SQLSERVER; } else if (jdbcUrl.startsWith("jdbc:postgresql:") || jdbcUrl.startsWith("jdbc:log4jdbc:postgresql:")) { return DBType.POSTGRE; } else if (jdbcUrl.startsWith("jdbc:hsqldb:") || jdbcUrl.startsWith("jdbc:log4jdbc:hsqldb:")) { return DBType.HSQL; } else if (jdbcUrl.startsWith("jdbc:db2:")) { return DBType.DB2; } else if (jdbcUrl.startsWith("jdbc:sqlite:")) { return DBType.SQLITE; } else if (jdbcUrl.startsWith("jdbc:h2:") || jdbcUrl.startsWith("jdbc:log4jdbc:h2:")) { return DBType.H2; } else { return DBType.OTHER; } } }