用于获取数据库表列中所有值的Java代码

时间:2014-12-16 03:25:33

标签: java mysql

我需要使用java代码获取数据库(mysql服务器)中列的所有条目。请找到以下代码:

public class DBConnection {

    private String name = null;
    private String path = null;

    public void DbValues(){

        try {
            Class.forName("driver");
            Connection con = DriverManager.getConnection(
                    "jdbc:sqlserver:..",
                    "username",
                    "password");
            if (!con.isClosed()) {
                Statement st = con.createStatement();
                ResultSet rs = st.executeQuery("select name, path from [testtable].[tbl_details]");

                while (rs.next()) {
                    name = rs.getString("name");
                    path = rs.getString("path");
                }
                con.close();
            } else
                System.out.println("failed");

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace(); }
    }

        public String getName() {
            return this.name;
        }

        public String getPath() {
            return this.path;
        }
}

//在主类

public class DBTest {
    public static void main(String[] args) { 

        DBConnection dbcon = new DBConnection();
        dbcon.DbValues();
        String path = dbcon.getPath();
        System.out.println("value is .." +path);
    }
}

此处仅显示路径的最后一个值。意味着如果它有20个条目,它将仅显示" path"的第20个值。我需要获取该特定列中的所有条目。请帮忙。

1 个答案:

答案 0 :(得分:1)

您正在替换每个条目的名称和路径变量的值。因此,最后您将获得最后一个条目的值。

为某些数据结构添加值或更改逻辑

P.S

您可以为名称和路径设置2个arraylist,或者为阵列设置一个arraylist。 e.g。

ArrayList<String[]> values = new ArrayList<String[]>();
while (rs.next()) {
     values.add(new String[]{rs.getString("name"), rs.getString("path")});
}