从MySQL读取数据到eclipse

时间:2014-03-13 18:36:29

标签: java mysql arrays eclipse

我正在尝试将MySQL数据库中的数据读入数组,以便我可以在视图中输出数据。

到目前为止我的代码是:

 Class.forName("com.mysql.jdbc.Driver");

Connection con =   
DriverManager.getConnection("jdbc:mysql://localhost:3306/database","localhost","root");
PreparedStatement stmt = con.prepareStatement("select * from stock");
ResultSet result = stmt.executeQuery("select * from stock");

ArrayList<int[]> stockNo = new ArrayList<int[]>();
ArrayList<String[]> stockName = new ArrayList<String[]>();
while(result.next()){
stockNo.add(result.getInt(1));
stockName.add(result.getString(2));
}
}

但是我在.add上收到一条错误消息 &#34;类型ArrayList中的方法add(int,int [])不适用于arguements(int)&#34;。 有谁知道我怎么解决这个问题?是因为我没有定义数组的大小吗?

3 个答案:

答案 0 :(得分:0)

这是因为您定义了List来存储整数数组,而不是整数。

替换它:

ArrayList<int[]> stockNo = new ArrayList<int[]>();

由此:

ArrayList<Integer> stockNo = new ArrayList<Integer>();

答案 1 :(得分:0)

result.getInt(1)result.getString(2)各自返回IntegerString。您不能添加到具有int数组类型的ArrayList。

试试这个:

ArrayList<int> stockNo = new ArrayList<int>();
ArrayList<String> stockName = new ArrayList<String>();
while(result.next()){
    stockNo.add(result.getInt(1));
    stockName.add(result.getString(2));
}

答案 2 :(得分:0)

您可能需要查看Java Persistence API,尽管最初设置它可能会更多,但它将为您提供许多优势。它将避免在返回集上做很多事情。