利用JDBC ResultSetMetaData 将数据反射到实体类中

    xiaoxiao2021-12-14  17

    1.JDBC ResultSetMetaData将数据反射到实体类中

    代码:

    private <T> List<T> setMetaData(ResultSet rs, Class<T> clazz) throws Exception { List<T> tList = new ArrayList<T>(); T t = null; while (rs.next()) { t = clazz.newInstance(); ResultSetMetaData rsmd = rs.getMetaData(); int count = rsmd.getColumnCount(); for (int i = 1; i <= count; i++) { String name = rsmd.getColumnName(i); Field field = clazz.getDeclaredField(name); field.setAccessible(true); field.set(t, rs.getObject(name)); } tList.add(t); } return tList; }

    这样可以比利用实体类反射获取到属性名在从JDBC中获取元数据有优势(必须查询所有数据才可以)

    利用JDBC元数据反射不需要会根据查询的columnName反射到实体类中

    转载请注明原文地址: https://ju.6miu.com/read-965265.html

    最新回复(0)