介绍
本篇文章为大家展示了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如何实现查询地图转对象