我需要使用 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 个条目,它将只显示“路径”的第 20 个值我需要获取该特定列中的所有条目。请帮忙。
最佳答案
您正在为每个条目替换名称和路径变量的值。因此,最终您将获得最后一个条目的值。
向某些数据结构添加值或更改您的逻辑
附言
您可以有 2 个数组列表用于名称和路径,或者有一个数组列表。 例如
ArrayList<String[]> values = new ArrayList<String[]>();
while (rs.next()) {
values.add(new String[]{rs.getString("name"), rs.getString("path")});
}
关于获取数据库表列中所有值的Java代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27497029/