首页 > 应用开发 > Java > JDBC 工具类-代码
代码示例
//适配JDBC服务的所有查询
public static <T> List<T> queryResultList(Connection connection, String querySql, Class<T> clz, boolean underScoreToCamel) throws Exception {
//存放结果数据
ArrayList<T> list = new ArrayList<>();
//预编译
PreparedStatement preparedStatement = connection.prepareStatement(querySql);
//查询操作
ResultSet resultSet = preparedStatement.executeQuery();
ResultSetMetaData metaData = resultSet.getMetaData();
int columnCount = metaData.getColumnCount();
//遍历查询到的结果集,将每行数据封装为T对象,并将其放入集合
while (resultSet.next()) {
//创建T对象
T t = clz.newInstance();
for (int i = 0; i < columnCount; i++) {
//获取列名
String columnName = metaData.getColumnName(i + 1);
//获取列值
Object value = resultSet.getObject(columnName);
//判断是否需要转换列名信息:驼峰命名
if (underScoreToCamel) {
columnName = CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, columnName.toLowerCase());
}
//给T对象赋值
BeanUtils.setProperty(t, columnName, value);
}
//将T对象加入集合
list.add(t);
}
//释放资源
resultSet.close();
preparedStatement.close();
//返回结果数据
return list;
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70024433/viewspace-3007163/ ,如需转载,请注明出处,否则将追究法律责任。