日期:2014-05-16  浏览次数:20470 次

不同数据库的数据库类型及对应的jdbc类型
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  //DbsTool x = new DbsTool();
  //x.getMySqlCon("","","");
  try {
   Connection con = getOracleCon(null, null, null);
   DatabaseMetaData dbMetaData = con.getMetaData();
    ResultSet  rs = dbMetaData.getTypeInfo();
    //PreparedStatement pst = con.prepareStatement("");
    //pst.setd
    while(rs.next()){
     Field[] fields = Types.class.getDeclaredFields();
     String alias = ""; 
     for(Field field :fields){
      if(field.get(Types.class).toString().equals(rs.getString("DATA_TYPE"))){
       alias = field.getName();
      }
     }
   //  System.out.println("");
     System.out.println("数据库类型"+rs.getString("TYPE_NAME")+"  javaSQl类型:"+alias);
    }
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

?以上方法打印了数据库类型对应的java.sql.typys中的类型即java中所谓的SQL类型,

对于Types中的数据库类型()和java中类型的关系可以查看preparedStatement中源码中的方法的注释,注释写的很详细。