利用java反射原理给实体类注值
2016-09-13 20:31
375 查看
写一个通用java注值的方法,使用泛型T,将其封装在DbHelp中(相信DbHelper不用我解释是什么),使dao调用直接获取所需要的对象,也正应用了我们java面向对象的思想
public static<T> T getBean(String sql,Class<T> clazz){ Method[] ms=clazz.getDeclaredMethods(); T t=null; try { t=clazz.newInstance(); for (Method m : ms) { String mn=m.getName(); if(mn.startsWith("set")){ Object obj=map.get((mn.replace("set", "").toUpperCase()));//取到set方法对应数据库字段的值 String pt=m.getParameterTypes()[0].toString();//取到set方法的参数类型 if(obj!=null){ if(pt.endsWith("int")||pt.endsWith("Integer")){ m.invoke(t, ((BigDecimal)obj).intValue()); }else if(pt.endsWith("Double")||pt.endsWith("double")){ m.invoke(t, ((BigDecimal)obj).doubleValue()); }else if(pt.endsWith("Date")){ m.invoke(t, (Timestamp)obj); }else { m.invoke(t, obj); } } } } } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } return t; }
相关文章推荐
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
- 利用Java Reflection(反射)原理,在hibernate里面实现对单表、视图的动态组合查询
- 利用java反射原理写了一个简单赋值和取值通用类【改】
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)
- 模拟spring aop (利用java反射原理)
- Java中利用反射原理拷贝对象
- 利用java的反射原理实现数据注入功能
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
- 利用java 反射原理写了一个赋值和取值通用类
- 【转】Android系统原理与源码分析:利用Java反射技术阻止通过按钮关闭对话框
- 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)
- 利用java的反射原理实现数据注入功能
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
- java利用反射原理:根据某个对象的名称和方法去执行该方法。