mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix bug
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package cn.hutool.db.dialect;
|
||||
|
||||
import cn.hutool.core.util.ClassLoaderUtil;
|
||||
import cn.hutool.core.util.ReUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.db.dialect.impl.AnsiSqlDialect;
|
||||
import cn.hutool.db.dialect.impl.H2Dialect;
|
||||
@@ -115,6 +116,12 @@ public class DialectFactory {
|
||||
// 全部转为小写,忽略大小写
|
||||
nameContainsProductInfo = StrUtil.cleanBlank(nameContainsProductInfo.toLowerCase());
|
||||
|
||||
// 首先判断是否为标准的JDBC URL,截取jdbc:xxxx:中间部分
|
||||
final String name = ReUtil.getGroup1("jdbc:(.*?):", nameContainsProductInfo);
|
||||
if(StrUtil.isNotBlank(name)){
|
||||
nameContainsProductInfo = name;
|
||||
}
|
||||
|
||||
String driver = null;
|
||||
if (nameContainsProductInfo.contains("mysql")) {
|
||||
driver = ClassLoaderUtil.isPresent(DRIVER_MYSQL_V6) ? DRIVER_MYSQL_V6 : DRIVER_MYSQL;
|
||||
|
@@ -0,0 +1,14 @@
|
||||
package cn.hutool.db.dialect;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class DriverUtilTest {
|
||||
|
||||
@Test
|
||||
public void identifyDriverTest(){
|
||||
String url = "jdbc:h2:file:./db/test;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;MODE=MYSQL";
|
||||
String driver = DriverUtil.identifyDriver(url); // driver 返回 mysql 的 driver
|
||||
Assert.assertEquals("org.h2.Driver", driver);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user