java中如何将数据库中多个字段的值存入二维数组的一个元素中

如题所述

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
public class DataToArray {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:mysql://localhost:3306/test";// 改成你的数据库连接
        Connection conn = DriverManager.getConnection(url, "root", "fuhaiwei");// 改成你用户名密码
        String sql = "select * from user";// 改成你的查询语句
        PreparedStatement prestmt = conn.prepareStatement(sql);
        ResultSet rs = prestmt.executeQuery();
        Object[][] data = getDataArray(rs);
        printArray(data);
        rs.close();
        prestmt.close();
        conn.close();
    }
    private static void printArray(Object[][] data) {
        for (int i = 0; i < data.length; i++) {
            for (int j = 0; j < data[i].length; j++) {
                System.out.print(data[i][j] + " ");
            }
            System.out.println();
        }
    }
    private static Object[][] getDataArray(ResultSet rs) throws SQLException {
        List<Object[]> list = new LinkedList();
        while (rs.next()) {
            // 改成你的列名
            Object[] objects = new Object[] { rs.getInt("id"), rs.getString("username"),
                    rs.getString("password") };
            list.add(objects);
        }
        return list.toArray(new Object[0][0]);
    }
}

输出效果:

追问

我数据库中有五个字段分别是hang,lie,shijixuhao,col,row.用sql语句调出来之后,如何五个五个一组的存入二维数组中,并且二维数组的长度定为6.如何做啊?求大神,急急急!!!!!!!!!!!

追答

虽然你很急,但是你更应该说明白你想要的效果到底是什么?
data[0][0]=hang,data[0][1]=lie,......
data[1][0]=hang2.data[1][1]=lie2,...
是这样吗?

追问

好吧!我在说一遍,我想把数据库中的hang,lie,shijixuhao,col,row这几个字段调出来合成一个串儿,再把每一个串儿当做一个元素存入到二维数组中,二维数组中每一组存六个串儿。要不劳驾大神给一下扣扣吧!谢了!!!!!

追答

明白了,QQ151244729

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-08
如果数据中有多个数据,我建议你将这些数据封装成一个对象,将对象存入数组或者集合中比较好。
demo{
属性1
属性2
}
List demos= new List();
for(int i = 0;i<demos.size(),i++){
demo demo = new demo();
demos.add(demo);
}
我建议不要使用二维数组,数组是定长的无法动态改变长度数据库中如果添加了数据那么使用数组会报下标越界的错误。使用对象封装取值也方面,本回答被网友采纳
第2个回答  2013-05-03
for(int i = 0;i<100,i++){
for(iint i = 0;j<100,i++){
arr[i][j] = "数据库中的值";
}
}追问

我数据库中有五个字段分别是hang,lie,shijixuhao,col,row.用sql语句调出来之后,如何五个五个一组的存入二维数组中,并且二维数组的长度定为6.如何做啊?求大神,急急急!!!!!!!!!!!

追答

看来楼下哪位兄弟解释的非常清楚了,都有预留代码,哈哈,不错,仔细看看她的稍微修改下就行了

相似回答