杭州Java培训
达内杭州Java培训中心

15268258619

热门课程

达内:java 查询的代码

  • 时间:2016-04-14
  • 发布:杭州java培训
  • 来源:慕课网


杭州达内Java培训专家给出java 查询的代码。

public static void update(String sql, Object... args) {
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
connection = getConnection();
preparedStatement = connection.prepareStatement(sql);
for (int i = 0; i < args.length; i++) {
preparedStatement.setObject(i + 1, args[i]);
}
preparedStatement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
releaseDB(null, preparedStatement, connection);
}
}


// 查询一行记录
public <T> T getMessage(Class<T> clazz, String sql, Object... args) {
    List<T> result = getMessages(clazz, sql, args);
    if (result.size() > 0) {
        return result.get(0);
    }
    return null;
}
// 查询多行记录
public <T> List<T> getMessages(Class<T> clazz, String sql, Object... args) {
    List<T> list = new ArrayList<>();
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    try {
        connection = getConnection();
        preparedStatement = connection.prepareStatement(sql);
        for (int i = 0; i < args.length; i++) {
            preparedStatement.setObject(i + 1, args[i]);
        }
        resultSet = preparedStatement.executeQuery();
        List<Map<String, Object>> values = resultSetToMapList(resultSet);// 调用下面的方法
        list = mapListToBeanList(clazz, values);// 调用下面的方法
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        releaseDB(resultSet, preparedStatement, connection);
    }
    return list;
}
public List<Map<String, Object>> resultSetToMapList(ResultSet resultSet)
        throws SQLException {
    List<Map<String, Object>> values = new ArrayList<>();
    Map<String, Object> map = null;
    List<String> columnLabels = getColumnLabels(resultSet);
    while (resultSet.next()) {
        map = new HashMap<>();
        for (String columnLabel : columnLabels) {
            Object value = resultSet.getObject(columnLabel);
            map.put(columnLabel, value);
        }
        values.add(map);
    }
    return values;
}
private List<String> getColumnLabels(ResultSet resultSet)
        throws SQLException {
    List<String> labels = new ArrayList<>();
    ResultSetMetaData rsmd = resultSet.getMetaData();
    for (int i = 0; i < rsmd.getColumnCount(); i++) {
        labels.add(rsmd.getColumnLabel(i + 1));
    }
    return labels;
}
private <T> List<T> mapListToBeanList(Class<T> clazz,
        List<Map<String, Object>> values) throws InstantiationException,
        IllegalAccessException, InvocationTargetException {
    List<T> result = new ArrayList<>();
    T bean = null;
    if (values.size() > 0) {
        for (Map<String, Object> map : values) {
            bean = clazz.newInstance();
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                String propertyName = entry.getKey();
                Object value = entry.getValue();
                BeanUtils.setProperty(bean, propertyName, value);
            }
            result.add(bean);
        }
    }
    return result;
}





原文链接:http://www.imooc.com/article/6293
上一篇:达内举办春季专场招聘会广州专场
下一篇:达内:java 集合用法

恭喜达内获得《产学合作协同育人项目合作伙伴奖》

中传学子参加达内Java培训,转身成为Java工程师月薪12.5K

达内教育总裁韩少云受邀出席GIE国际教育峰会做主题演讲

学员参加达内网络营销培训,获10万年薪入职微众传媒

选择城市和中心
贵州省

广西省

海南省