• 今早发现以前检测数据库里是否存在某个表的代码(见下面)居然没有效果了,检查后发现代码一点都没有变,就怀疑是mysql的jdbc驱动问题(曾经有过与驱动相关的郁闷经历),把驱动从mysql-connector-java-3.1.8-bin.jar换成mysql-connector-java-3.0.16-ga-bin.jar,结果一切ok。
    mysql的jdbc驱动真不能让人放心,不知道什么时候在什么地方就会出问题。

    // 获取数据库的元数据

    DatabaseMetaData dma=conn.getMetaData();

    // 将数据库中的表的名称转储出来

    String[] types=new String[]{"TABLES"}; // 设置查询类型

    // 请注意通配符是 % 符号(而不是“*”)

    ResultSet results=dma.getTable(null,null,"%",types);

    while(results.next())

    {

      String tableName=results.getString("TABLE_NAME");

    System.out.println(tableName);

    }