用java判断数据库表是否被创建

来源:互联网 发布:wince6.0软件下载 编辑:程序博客网 时间:2024/05/21 18:45
 
  1.     session=HibernateSessionFactory.getSession();
  2.             Connection conn=session.connection();
  3.             //判断数据库中是否存在表RiseNet_file
  4.             DatabaseMetaData dmd=conn.getMetaData(); 
  5.                       /**
  6.                *DatabaseMetaData.getTablesgetTables(String catalog,
                               String schemaPattern,
                               String tableNamePattern,
                               String[] types)
                        throws SQLException
  7.                  *参数一:表种类,这个我没有找到是什么意思,如果是null的话,则为全部
  8.                  *参数二:为当前用户的名字,如果不写则为查找所有用户
  9.                  *参数三:表名称,可以使用正则表达式,
  10.                  *参数四:表类型:主要包括:"TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
  11.                  ResultSet 中取得的结果包括以下内容:
    1. TABLE_CAT String => table catalog (may be null)
    2. TABLE_SCHEM String => table schema (may be null)
    3. TABLE_NAME String => table name
    4. TABLE_TYPE String => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
    5. REMARKS String => explanatory comment on the table
    6. TYPE_CAT String => the types catalog (may be null)
    7. TYPE_SCHEM String => the types schema (may be null)
    8. TYPE_NAME String => type name (may be null)
    9. SELF_REFERENCING_COL_NAME String => name of the designated "identifier" column of a typed table (may be null)
    10. REF_GENERATION String => specifies how values in SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER", "DERIVED". (may be null)
  12. **/
  13.             ResultSet rs=dmd.getTables("""RISEAPPROVE""RISENET_FILE", (new String[]{"TABLE"}));
  14.             //ResultSetMetaData meta = rs.getMetaData();
  15.             //System.out.println(meta.getColumnCount());
  16.             // (int i = 1; i <= meta.getColumnCount(); i++) {
  17.                 //System.out.println("---"+meta.getCatalogName(i)+"---");
  18.             //}
  19.             while(rs.next()){
  20.                 
  21.                 System.out.println("表存在,删除表");
  22.                 System.out.println("TABLE_CAT:"+rs.getString("TABLE_CAT"));
  23.                 System.out.println("TABLE_SCHEM:"+rs.getString("TABLE_SCHEM"));
  24.                 System.out.println("TABLE_NAME:"+rs.getString("TABLE_NAME"));
  25.                 System.out.println("TABLE_TYPE:"+rs.getString("TABLE_TYPE"));
  26.                 System.out.println("END");
  27. //              Transaction tx = session.beginTransaction();
  28. //              RiseFile risefile=newRiseFile();
  29. //              //添加数据,或者用session.saveOrUpdate(risefile);
  30. //
  31. //              session.save(risefile);
  32. //              //在提交以前会把title变成第二次测试
  33. //              
  34. //              List list=session.find("from RiseFile where fileguid='{09A26D19-FFFF-FFFF-E0D7-FF4100000001}'");
  35. //              if(list!=null&&list.size()>0){
  36. //                  RiseFile file=(RiseFile)list.get(0);
  37. //                  System.out.println(file.getAppName());
  38. //                  System.out.println(file.getTitile());
  39. //              }
  40. //              session.delete("from RiseFile where fileguid='{09A26D19-FFFF-FFFF-E0D7-FF4100000001}'");
  41. //              
  42. //              risefile.setTitile("第N次测试");
  43. //              
  44. //              tx.commit();
  45. //              //删除表
  46.                 //operateTable(true);
  47.             }//else{
  48.                 //创建表
  49.             //  System.out.println("表不存在,创建表");
  50.                 //operateTable(false);
  51.             //}
原创粉丝点击