当前使用版本(必须填写清楚,否则不予处理)

3.2.0

该问题是怎么引起的?(最新版上已修复的会直接close掉)

问题出现代码定位: 该配置:缺少对达梦数据库的判断

com.baomidou.mybatisplus.generator.config.DataSourceConfig#getDbType(java.lang.String)

if (str.contains("mysql")) { return DbType.MYSQL; } else if (str.contains("oracle")) { return DbType.ORACLE; } else if (str.contains("postgresql")) { return DbType.POSTGRE_SQL; } else if (str.contains("sqlserver")) { return DbType.SQL_SERVER; } else if (str.contains("db2")) { return DbType.DB2; } else if (str.contains("mariadb")) { return DbType.MARIADB; } else if (str.contains("sqlite")) { return DbType.MARIADB; } else { return str.contains("h2") ? DbType.H2 : null; }

重现步骤

DataSourceConfig dsc = new DataSourceConfig();
    dsc.setUrl("jdbc:dm://localhost/SYSDBA?DMSERVER?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8");
    // dsc.setSchemaName("public");
    dsc.setDriverName("dm.jdbc.driver.DmDriver");
    dsc.setUsername("SYSDBA");
    dsc.setPassword("rootrootroot");
    mpg.setDataSource(dsc);

报错信息

java.lang.ClassNotFoundException: dm.jdbc.driver.DmDriver at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.baomidou.mybatisplus.generator.config.DataSourceConfig.getConn(DataSourceConfig.java:196) at com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder.handlerDataSource(ConfigBuilder.java:269) at com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder.(ConfigBuilder.java:132) at com.baomidou.mybatisplus.generator.AutoGenerator.execute(AutoGenerator.java:92) at com.baomidou.mybatisplus.samples.generator.MysqlGenerator.main(MysqlGenerator.java:119) Exception in thread "main" com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Unknown type of database! at com.baomidou.mybatisplus.core.toolkit.ExceptionUtils.mpe(ExceptionUtils.java:49) at com.baomidou.mybatisplus.generator.config.DataSourceConfig.getDbType(DataSourceConfig.java:119) at com.baomidou.mybatisplus.generator.config.DataSourceConfig.getDbQuery(DataSourceConfig.java:74) at com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder.handlerDataSource(ConfigBuilder.java:270) at com.baomidou.mybatisplus.generator.config.builder.ConfigBuilder.(ConfigBuilder.java:132) at com.baomidou.mybatisplus.generator.AutoGenerator.execute(AutoGenerator.java:92) at com.baomidou.mybatisplus.samples.generator.MysqlGenerator.main(MysqlGenerator.java:119) Disconnected from the target VM, address: '127.0.0.1:53902', transport: 'socket'

Comment From: qmdx

加上驱动

Comment From: qmdx

长时间未得到反馈

Comment From: xianlonglu

Exception in thread "main" com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Unknown type of database! 是不是不支持DM,金仓等国产数据库代码生成?