List of usage examples for java.sql ResultSet getClass
@HotSpotIntrinsicCandidate public final native Class<?> getClass();
From source file:br.com.cobranca.util.Util.java
public static <T> T atribuirValores(Class<T> classe, ResultSet rs) throws Exception { T obj = classe.newInstance();/*w w w . jav a 2 s . c o m*/ //Percorre lista de colunas for (int j = 0; j < rs.getMetaData().getColumnCount(); j++) { String nomeColuna = rs.getMetaData().getColumnName(j + 1); Field field = obj.getClass().getDeclaredField(nomeColuna); field.setAccessible(true); String tipoColuna = field.getType().getSimpleName(); if (tipoColuna.toUpperCase().contains("INT")) { tipoColuna = "Int"; } else { tipoColuna = StringPrimeiraLetraMaiuscula(tipoColuna); } // rs . get + tipo da coluna, passando o nome da coluna como parmetro Method met = rs.getClass().getMethod("get" + tipoColuna, String.class); if (tipoColuna.equals("Int")) { Integer valor = (Integer) met.invoke(rs, nomeColuna); met = obj.getClass().getMethod("set" + StringPrimeiraLetraMaiuscula(nomeColuna), Integer.class); met.invoke(obj, valor); } else if (tipoColuna.equals("String")) { String valor = (String) met.invoke(rs, nomeColuna); met = obj.getClass().getMethod("set" + StringPrimeiraLetraMaiuscula(nomeColuna), String.class); met.invoke(obj, valor); } else if (tipoColuna.equals("Double")) { Double valor = (Double) met.invoke(rs, nomeColuna); met = obj.getClass().getMethod("set" + StringPrimeiraLetraMaiuscula(nomeColuna), Double.class); met.invoke(obj, valor); } else if (tipoColuna.equals("Float")) { Float valor = (Float) met.invoke(rs, nomeColuna); met = obj.getClass().getMethod("set" + StringPrimeiraLetraMaiuscula(nomeColuna), Float.class); met.invoke(obj, valor); } else if (tipoColuna.equals("Long")) { Long valor = (Long) met.invoke(rs, nomeColuna); met = obj.getClass().getMethod("set" + StringPrimeiraLetraMaiuscula(nomeColuna), Long.class); met.invoke(obj, valor); } else if (tipoColuna.equals("Boolean")) { Boolean valor = (Boolean) met.invoke(rs, nomeColuna); met = obj.getClass().getMethod("set" + StringPrimeiraLetraMaiuscula(nomeColuna), Boolean.class); met.invoke(obj, valor); } else if (tipoColuna.equals("Date")) { Date valor = (Date) met.invoke(rs, nomeColuna); met = obj.getClass().getMethod("set" + StringPrimeiraLetraMaiuscula(nomeColuna), Date.class); met.invoke(obj, valor); } else { break; } } return obj; }