使用ResultSet,写了一个通用的查询方法

Posted Hello.World!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ResultSet,写了一个通用的查询方法相关的知识,希望对你有一定的参考价值。

此方法很烂,以后优化

/**
     * 通用的查询方法:SELECT
     */
    @SuppressWarnings({ "unchecked", "rawtypes" })
    public List testResultSet(String sql) {
        Connection connection = null;
        Statement statement = null;
        ResultSet rs = null;
        try {
            // 1.获取Connection
            connection = JDBCTools.getConnection();
            // 2.获取Statement
            statement = connection.createStatement();
            // 4.执行查询,得到ResultSet
            rs = statement.executeQuery(sql);
            // 5.处理ResultSet
            List list = new ArrayList();
            ResultSetMetaData metaData = rs.getMetaData();
            int columnCount = metaData.getColumnCount();
            while (rs.next()) {
                Map rowData = new HashMap();
                for (int i = 1; i < columnCount; i++) {
                    rowData.put(metaData.getColumnName(i), rs.getObject(i));
                }
                list.add(rowData);
            }
            for (int i = 0;i < list.size();i++) {
                System.out.print(list.get(i));
                System.out.println();
            }
            return list;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            // 6.关闭数据库相应的资源
            JDBCTools.release(rs, statement, connection);
        }
    }

为了方便看结果对不对,我给打印到控制台了,实际中可以没有这个

懒得写测试方法

以上是关于使用ResultSet,写了一个通用的查询方法的主要内容,如果未能解决你的问题,请参考以下文章

设计模式

JDBC的一些简单通用代码

Java -- JDBC 学习--通过 ResultSet 执行查询操作

MYSQL 之 JDBC: 增删改查通过ResultSet执行查询操作

我想要复制ResultSet的对象 怎么弄?

ResultSet转成java类对象