1.直接使用get方法获取对应的类型的数据,当然需要结合while(resultset.next())
ResultSet rs = ps.executeQuery();
if(rs.next()){
employee=new Employee(rs.getLong(1),rs.getString(2),rs.getString(3),rs.getInt(4));
}
2.使用getMetaData()方法,得到表结构,包括列名,列的个数,列的数据类型。然后遍历
主要使用:列的个数,列名,通过列名可以使用resultSet getObject(name) 获取对应的值,然后通过反射得到对应的属性,通过属性给对象赋值。
ResultSetMetaData rsmd = rs.getMetaData(); // 得到记录集,元素对象。
// 通过此对象可以得到表的结构,包括,列名,列的个数,列数据类型
while(rs.next()){
T m = cls.newInstance(); // 通过反射得到实体对象。
for(int i=0;i<rsmd.getColumnCount();i++){
String col_name = rsmd.getCatalogName(i+1); // 获取列名
Object value = rs.getObject(col_name); //获取列对应的值。
Field field = cls.getDeclaredField(col_name);
//获取对象对应的名称属性,然后给属性赋值
field.setAccessible(true); // 让可以访问私有属性
field.set(m,value); // 给对象私有属性赋值
}
list.add(m);