jdbc获取数据库字段,类型

/**
 * 获取数据库中字段类型,转换成jdbc类型
 * @param rst   resultset
 * @param rolumnDbClass    数据类型
 * @param i
 * @return
 * @throws SQLException
 */
public static String typeValue(ResultSet rst, String rolumnDbClass,int i) throws SQLException{
String value = null;
 if("date".equals(rolumnDbClass)
          || "datetime".equals(rolumnDbClass)){
          value = String.valueOf(rst.getDate(i));
         }else if ("varchar".equals(rolumnDbClass)
          || "char".equals(rolumnDbClass)){
          value = rst.getString(i);
         }else if("float".equals(rolumnDbClass)){
          value = String.valueOf(rst.getDouble(i));
         }else if("decimal".equals(rolumnDbClass)){
          value = String.valueOf(rst.getBigDecimal(i));
         }else if ("smallint".equals(rolumnDbClass)){
          value = String.valueOf(rst.getShort(i));
         }
         else if ("int".equals(rolumnDbClass)){
          value = String.valueOf(rst.getInt(i));
         }
 return value;
}


while(rst.next()){
count++;
StringBuffer sb = new StringBuffer();
for(int i=1 ;i<=tableLength ;i++){  
                //获取数据库类型  
                String rolumnDbClass = rsmd.getColumnTypeName(i);  
               
                value = typeValue(rst, rolumnDbClass, i);
                  
                if(i==tableLength){
sb.append("'").append(CommonUtils.conValue(value)).append("'");
}else
sb.append("'").append(CommonUtils.conValue(value)).append("',");



              //获取数据库中字段类型,转换成jdbc类型
 if("date".equals(rolumnDbClass)
          || "datetime".equals(rolumnDbClass)){
          value = String.valueOf(rst.getDate(i));
         }else if ("varchar".equals(rolumnDbClass)
          || "char".equals(rolumnDbClass)){
          value = rst.getString(i);
         }else if("float".equals(rolumnDbClass)){
          value = String.valueOf(rst.getDouble(i));
         }else if("decimal".equals(rolumnDbClass)){
          value = String.valueOf(rst.getBigDecimal(i));
         }else if ("smallint".equals(rolumnDbClass)){
          value = String.valueOf(rst.getShort(i));
         }
         else if ("int".equals(rolumnDbClass)){
          value = String.valueOf(rst.getInt(i));
         }
              /*  //获取数据库类型与java相对于的类型  
                String rolumnClass = rsmd.getColumnClassName(i);  
                System.out.println("java对应:"+rolumnClass);  */
                  
                //获取列名  
                String columnName = rsmd.getColumnName(i);  
//                 System.out.println("获取列名:"+columnName);  
            }  
   log.debug(count+"   :   "+sb);
  
}

转载于:https://my.oschina.net/yhxjava/blog/87903

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值