文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

React16.4 开发简书项目 从零基础入门到实战

React16.4 开发简书项目 从零基础入门到实战 关注我的订阅号下载 React16.4 开发简书项目 从零基础入门到实战

蜗牛奔跑
7分钟前
0
0
day57-20180815-流利阅读笔记-待学习

社恐怎么办?这个漫画或许能治愈你 毛西 2018-08-15 1.今日导读 近日,芬兰漫画家卡罗利娜·科尔霍宁创作的绘本《芬兰人的噩梦》在中国大火。一时间书中的主人公马蒂成为了人们茶余饭后热议的...

aibinxiao
11分钟前
1
0
用REDIS实现分布式缓存

第一:Redis 是什么? Redis是基于内存、可持久化的日志型、Key-Value数据库 高性能存储系统,并提供多种语言的API. 第二:出现背景 数据结构(Data Structure)需求越来越多, 但memcache中没有...

明理萝
11分钟前
0
1
【Java】留下没有基础眼泪的面试题

前言 只有光头才能变强 本文力求简单讲清每个知识点,希望大家看完能有所收获 一、如何减少线程上下文切换 使用多线程时,不是多线程能提升程序的执行速度,使用多线程是为了更好地利用CPU资...

Java3y
14分钟前
0
0
SpringCloud SpringBoot mybatis分布式微服务云架构开发Web应用(2)

在完成配置之后,举一个简单的例子,在快速入门工程的基础上,举一个简单的示例来通过Thymeleaf渲染一个页面。 @Controllerpublic class HelloController { @RequestMapping("/")...

itcloud
22分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部