java怎样实现把从数据库中某一字段数据存入一维数组中

如题所述

一个表里的某条数据还是一个表里某个字段下所有的数据?
看看是不是你要的效果。

public class TestColumnToArray {

public static void main(String[] args) {
TestColumnToArray instance = new TestColumnToArray();
instance.connDB();
List<Map<String, Object>> list = instance.findColumn();
Object[] data = instance.getData(list, "。。。");//。。。换成要查得字段
for (Object object : data) {
System.out.println(object);
}
}

private Object[] getData(List<Map<String, Object>> list, String column) {
Object[] data = new Object[list.size()];
for (int i = 0; i < list.size(); i++) {
data[i] = list.get(i).get(column);
}
return data;
}

private void connDB() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.err.println("驱动加载失败!");
}
}

private List<Map<String, Object>> findColumn() {
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();

Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql = "select * from 。。。";//。。。换成表名
try {
conn = DriverManager.getConnection("。", "。。", "。。。");//。换成url。。换成数据库账户。。。换成数据库密码
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);

while (rs.next()) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("。。。", rs.getInt(1));//。。。换成列名
map.put("。。。", rs.getInt(2));
map.put("。。。", rs.getInt(3));
list.add(map);
}
} catch (SQLException e) {
System.err.println("数据库读取失败!");
} finally {
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {}
}
return list;
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-09
第一步:用数据库操作语言得到你需要的字段内容(具体方法是有关数据库方面其实很简单如有不会我可以继续回答)
第二步:第一步得到的内容肯定是字符串了。这样的话,就变成将字符串存入一维数组。我想这个就很简单了……关于字符串的操作有很多种办法了,别说存入一维数组,java对字符串想怎么操作都可以……(如有不会请继续提问)
相似回答