文档章节

BeanPropertyRowMapper

土鳖的弟弟
 土鳖的弟弟
发布于 2013/11/17 21:20
字数 108
阅读 66
收藏 0
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<T> implements RowMapper<T>{ 
 
 
 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; 
     } 
 } 
 } 
 
 
 }


© 著作权归作者所有

共有 人打赏支持
土鳖的弟弟
粉丝 8
博文 63
码字总数 7366
作品 0
程序员
聊聊spring jdbc的RowMapper

序 本文主要介绍下spring jdbc的RowMapper RowMapper spring-jdbc-4.3.10.RELEASE-sources.jar!/org/springframework/jdbc/core/RowMapper.java spring定义了这个RowMapper,来让应用去自定义......

xixicat
2017/11/20
0
0
springJDBC中NamedParameterJdbcTemplate和JdbcTempl...

public class CopyOfStudentDaoImpl implements StudentDao { private JdbcTemplate jdbcTemplate; private NamedParameterJdbcTemplate namedParameterJdbcTemplate; public void setDataSo......

zplswf
2012/06/16
0
0
java.sql.SQLException: Fail to convert to internal

ava.lang.Thread.run(Thread.java:745) Caused by: java.sql.SQLException: Fail to convert to internal representation at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseE......

Oscarfff
2016/06/14
27
0
关于Hibernate的查询从数据库映射到JavaBean

Hibernate除了HQL外,还支持SQL的查询,API为createSQLQuery(sql),如果数据库使用的是Oracle, 由于数据库表中的列都是大写,所以在从resultset到javabean的时候,需要完全匹配。 一般我们会...

tomyang12
2014/08/27
0
1
spring--(22)JdbcTemplate

1.导入jar包,必须jar包:c3p0、mysql-connector、beans、context、dao、jdbc,截图如下 2.db.properties 3.applicationContext.xml 4.jdbcTest 5.bean 6.数据库...

求是科技
2016/09/04
16
0

没有更多内容

加载失败,请刷新页面

加载更多

python:关于读取文件的指定行的问题

先来造一个文件:就叫做 test.txt吧,内容是下面这个样子: 表头1,数据12,数据23,数据34,数据45,数据56,数据67,数据7 那么我们并不打算把这个表头给读出来 怎么办呢? 先来打开文...

Oh_really
31分钟前
1
0
Rails 用现代 Rails 逃离单页面应用 “兔子洞”

在工作共总是觉得turbolinks非常爽,但是却总是被说成是过时的技术,大家都喜欢spa,哪怕不用的spa的人也是禁用掉的多,找不到很好的理由劝说别人使用,这篇文章说的很到位,或者说至少是牛人...

wmzsonic
36分钟前
0
0
Hive 分布式搭建,Spark集成Hive记录

本帖详细介绍搭建步骤,仅仅记录自己搭建过程以及采坑经历。 前提环境: Hadoop集群 版本2.7.2 Spark集群 版本2.1.0 Linux版本 Centos7 准备搭建 MySql版本5.5.61 ,Hive-2.1.0 去官网下载M...

我爱春天的毛毛雨
38分钟前
3
0
打包QML程序

1、windeployqt执行路径(D:\Qt\5.12.0\msvc2017_64\bin)加入到PATH中 2、使用Qt自带的命令行交互 Command 终端(Qt 5.12.0 64-bit for Desktop (MSVC 2017))切换到 Release 编译成功的exe...

渣渣曦
今天
4
0
优秀互联网高级测试工程师应该具备的能力

概述 在之前写的互联网高级测试工程师至少具备的能力一文中,提到了测试工程师至少具备的能力,但是并没有提到优秀测试工程师应该具备的能力,下文简单的谈一谈。当然这些全部都是我的个人理...

Sam哥哥聊技术
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部