博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BeanPropertyRowMapper
阅读量:6563 次
发布时间:2019-06-24

本文共 1385 字,大约阅读时间需要 4 分钟。

hot3.png

import java.lang.reflect.InvocationTargetException;  import java.lang.reflect.Method;  import java.sql.ResultSet;  import java.sql.ResultSetMetaData;  import java.sql.SQLException;    public class BeanPropertyRowMapper
 implements RowMapper
{    private Class
 clazz;  public BeanPropertyRowMapper(Class
 clazz) {  this.clazz = clazz;  }   @SuppressWarnings("unchecked")  @Override  public T mapRow(ResultSet rs) throws SQLException {   ResultSetMetaData rsmd = rs.getMetaData();   Object obj = null;  try {  obj = clazz.newInstance();   for(int i = 1;i <= rsmd.getColumnCount();i++) {  String columnName = rsmd.getColumnLabel(i);  Object columnValue = rs.getObject(columnName);  setPropertyValue(obj,columnName,columnValue);  }   } catch (Exception e) {  e.printStackTrace();  }   return (T)obj;  }        private void setPropertyValue(Object obj,String columnName, Object columnValue) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException {          String methodName = "set"+columnName.substring(0,1).toUpperCase()+columnName.substring(1);                   Method[] methods = clazz.getMethods();          for(Method method : methods) {          if(methodName.equals(method.getName())) {          method.invoke(obj, columnValue);          break;      }  }  }    }

转载于:https://my.oschina.net/cshuangxi/blog/177027

你可能感兴趣的文章
如何查看Ubuntu下已安装包版本号
查看>>
我的那些年(2)~我毕业了
查看>>
VS2017 配置ImageMagick
查看>>
Hive任务优化--控制hive任务中的map数和reduce数
查看>>
[摄影]上海往事
查看>>
『原创』c#实现文件加密、解密及文件拖拽至程序图标直接打开
查看>>
【Leetcode】Search in Rotated Sorted Array
查看>>
redis3.0.0 集群安装详细步骤
查看>>
如何在Linux命令行中创建以及展示演示稿
查看>>
FutureTask——另一种闭锁的实现
查看>>
Android和MVC
查看>>
Linux 用户和用户组管理
查看>>
tomcat架构分析(valve源码导读)
查看>>
spring中InitializingBean接口使用理解(转)
查看>>
基于php5.5使用PHPMailer-5.2发送邮件
查看>>
InstallShield 2012 Spring新功能试用(16): Suite/Advanced UI 或 Advanced UI安装程序能在安装时进行输入合法性校验与反馈...
查看>>
C#面试宝典
查看>>
基金项目的英文
查看>>
《软件性能测试与LoadRunner实战教程》喜马拉雅有声图书上线
查看>>
ios 字典转模型
查看>>