• 反射 day1



    1、
    Object objval = rs.getObject(fieldName);//如果数据库值为空时的返回值java中的null
    //这个如果是oracle数值型的数据的会返回的可能类型有很多,如BigDecimal short int byte long boolean 所以如果是数值型的要加判断,然后再用对应的getInt getShort 等方法。
    System.out.println(objval.getClass());
    if (objval != null) { //判断非空,为空则不进行赋值(赋不赋值都是null就不赋值了)
    if (objval instanceof Number) {
    if (field.getType().getName().equals("int")
    \好像这行个判断要不要都一样
    || field.getType().getName().equals("java.lang.Integer")) {
    m.invoke(object, rs.getInt(fieldName));//这样就肯定返回值是intl了,下面的也一样
    } else if (field.getType().getName().equals("long")
    || field.getType().getName().equals("java.lang.Long")) {
    m.invoke(object, rs.getLong(fieldName));
    } else if (field.getType().getName().equals("double")
    || field.getType().getName().equals("java.lang.Double")) {
    m.invoke(object, rs.getDouble(fieldName));
    } else if (field.getType().getName().equals("short")
    || field.getType().getName().equals("java.lang.Short")) {
    m.invoke(object, rs.getShort(fieldName));
    } else if (field.getType().getName().equals("byte")
    || field.getType().getName().equals("java.lang.Byte")) {
    m.invoke(object, rs.getByte(fieldName));
    } else if (field.getType().getName().equals("float")
    || field.getType().getName().equals("java.lang.Float")) {
    m.invoke(object, rs.getFloat(fieldName));
    }
    } else {
    m.invoke(object, objval);
    }
    }
    }
    list.add(object);

  • 相关阅读:
    完全背包笔记
    渗透测试之信息收集常用网站
    结对项目-四则运算"软件"之升级版
    第三次作业:个人项目-小学四则运算“软件”之初版
    分布式版本控制系统Git的安装与使用
    第一次作业:准备
    爬虫综合大作业
    爬取全部校园新闻
    理解爬虫原理
    中文词频统计与词云生成
  • 原文地址:https://www.cnblogs.com/dxwen/p/10759258.html
Copyright © 2020-2023  润新知