JDBC如何实现查询地图转对象

  介绍

本篇文章为大家展示了JDBC如何实现查询地图转对象,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

@SuppressWarnings (“unchecked")   公共静态MS_Mont analyzeMapToMS_Mont(地图地图){   MS_Mont obj=new MS_Mont ();   如果(null !=map.get (“montNo")) obj.setMontNo (Integer.parseInt (map.get (“montNo") .toString ()));   如果(null !=map.get (“montName")) obj.setMontName (map.get (“montName") .toString ());   如果(null !=map.get (“montType")) obj.setMontType (Integer.parseInt (map.get (“montType") .toString ()));   如果(null !=map.get (“montLength")) obj.setMontLength (Integer.parseInt (map.get (“montLength") .toString ()));   如果(null !=map.get (“montDesc")) obj.setMontDesc (map.get (“montDesc") .toString ());   如果(null !=map.get (“bigType")) obj.setBigType (Integer.parseInt (map.get (“bigType") .toString ()));   如果(null !=map.get (“bigTypeName")) obj.setBigTypeName (map.get (“bigTypeName") .toString ());   如果(null !=map.get (“littleType")) obj.setLittleType (Integer.parseInt (map.get (“littleType") .toString ()));   如果(null !=map.get (“littleTypeName")) obj.setLittleTypeName (map.get (“littleTypeName") .toString ());   如果(null !=map.get (“insertTime")) obj.setInsertTime (map.get (“insertTime") .toString ());   如果(null !=map.get (“updateTime")) obj.setUpdateTime (map.get (“updateTime") .toString ());   如果(null !=map.get (“userNoRe")) obj.setUserNoRe (Integer.parseInt (map.get (“userNoRe") .toString ()));   如果(null !=map.get (“userNoLast")) obj.setUserNoLast (Integer.parseInt (map.get (“userNoLast") .toString ()));   返回obj;   }

很麻烦,很多,很枯燥。

为了解决这个问题,我列出一个解决方法,写一个方法,传入要赋值的对象和地图,然后根据列的属性名称从地图中获得响应的值,然后赋值给这个对象的属性。

例如,这里写了一个简单的查询:

公共对象analyzeMap (Map<字符串,Object>帕拉){
  对象obj=;
  ObjectUtil。setValToObj (obj, para);
  返回obj;
  }

公用方法:

/* *
  *返回一个对象的属性和属性值
  */公共静态LinkedHashMap<同步;字符串,String>getProAndValMap(对象entityName) {
  String> LinkedHashMap<字符串;地图=new LinkedHashMap<字符串,String> ();
  尝试{
  类c=entityName.getClass ();//获得对象属性
  电场的[]=c.getDeclaredFields ();
  (字段f:字段){
  对象v=invokeMethod (entityName f.getName (), null);
  如果(零!=v) map.put (f.getName (), v.toString ());
  其他map.put (f.getName (),““);
  }
  }捕捉(异常e) {
  地图=零;
  }
  返回地图;
  }/* *
  *获得对象属性的值
  */私人同步静态对象invokeMethod (methodName对象所有者,字符串,
  {Object [] args)抛出异常
  类ownerClass=owner.getClass ();
  methodName=methodName。substring (0, 1) .toUpperCase () + methodName.substring (1);
  方法方法=零;
  尝试{
  方法=ownerClass.getMethod (“get"+ methodName);
  }捕捉(异常e) {
  }
  返回method.invoke(所有者);
  }

JDBC如何实现查询地图转对象