解决问题--DatabaseMetaData的getTables()返回所有数据库的表信息

  • JAVA |java
  • 2022-07-15 23:42:53

问题

java.sql.DatabaseMetaDatagetTables()传入了schemaPattern,传的数据库名,但是返回的却是所有库的表信息
函数全写:
ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String types[]) throws SQLException;

解决

在创建jdbc连接的url后面拼接上

&nullCatalogMeansCurrent=true

分析

mysql驱动由5.0升级到8.0之后出现,原来升级后默认的nullCatalogMeansCurrent属性为false,参考mysql官方文档:
MySQL Doc

解决问题--DatabaseMetaData的getTables()返回所有数据库的表信息

猜你喜欢