我需要使用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个值。我需要获取该特定列中的所有条目。请帮忙。
答案 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")});
}