繁体   English   中英

如何在java中从MySQL检索查询的结果集

[英]How to retrieve result set of a query from MySQL in java

我已经连接到我的数据库:

Connection con = DriverManager.getConnection(
    "jdbc:mysql://instance23389.db.xeround.com:15296/Inventory","user","password");
PreparedStatement Statement = con.prepareStatement("Select * from inventory");
ResultSet result = Statement.executeQuery();
while(result.next()) {
    //What to put here?
}

这是我想要存储在该数据库中的arraylist:

static ArrayList<Product> Chart=new ArrayList<Product>();

并且这些对象存储在arraylist中:

double Total;
String name;
double quantity;
String unit;
double ProductPrice;

我需要使用什么通用代码来将arraylist存储在MySQL数据库中? 我需要使用什么通用代码才能将arraylist从MySQL数据库中删除?

这是用于检索和填充Arraylist productList

while (result.next()) {

    Product product = new Product();

    product.setTotal(result.getDouble("Total"));
    product.setName(result.getString("Name"));
    // etc.

    productList.add(product);
}

在此期间,我邀请您来看看:

http://www.jdbc-tutorial.com/

你的问题不是很清楚,但我猜你想要的东西是这样的:

List<Product> products = new ArrayList<Product>();

String host = "instance23389.db.xeround.com";
int port = 15296;
String dbName = "Inventory";
String url = "jdbc:mysql://" + host + ":" + port + "/" + dbName;

Connection con = null;
PreparedStatement stmt = null;

try {

  con = DriverManager.getConnection(url, "user","password");
  stmt = con.prepareStatement("select * from inventory");
  ResultSet result = stmt.executeQuery();
  while(result.next()) {
    Product prod = new Product();
    prod.setTotal(result.getDouble("total"));
    prod.setName(result.getString("name"));
    prod.setQuantity(result.getDouble("quantity"));
    prod.setUnit(result.getString("unit"));
    prod.setProductPrice(result.getDouble("product_price"));
    products.add(prod);
  }
} finally {
  if (stmt != null) {
    try { 
      stmt.close();
    } catch (SQLException ex) {
    }
  }
  if (con != null) {
    try { 
      con.close();
    } catch (SQLException ex) {
    }
  }
}
return products;

如果要插入,则选择不是方法。 你需要的是什么

Statement statement = conn.createStatement();
statement.executeUpdate("INSERT INTO Customers " + "VALUES (1001, 'Simpson', 'Mr.', 'Springfield', 2001)");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM