我们需要创建一个ProductDao类,用于从数据库中获取商品信息。假设我们使用JDBC连接数据库,可以在ProductDao类中编写以下代码: 复制 public class ProductDao { // 获取数据库连接的方法 // 查询所有商品信息的方法 public List<Product> getAllProducts() { List<Product> products = new ArrayList<>(); // 获取数据库连接 // 执行查询语句 // 将查询结果封装为Product对象,并添加到products列表中 // 关闭连接 return products; } }补全代码
时间: 2024-03-10 16:46:58 浏览: 95
使用JDBC从数据库中查询数据的方法
5星 · 资源好评率100%
可以在ProductDao类中添加以下代码来获取数据库连接和执行查询语句:
```java
public class ProductDao {
// 获取数据库连接的方法
private Connection getConnection() {
Connection conn = null;
try {
// 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 获取数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
} catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}
// 查询所有商品信息的方法
public List<Product> getAllProducts() {
List<Product> products = new ArrayList<>();
// 获取数据库连接
Connection conn = getConnection();
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 执行查询语句
pstmt = conn.prepareStatement("SELECT * FROM product");
rs = pstmt.executeQuery();
while (rs.next()) {
// 将查询结果封装为Product对象,并添加到products列表中
Product product = new Product();
product.setId(rs.getInt("id"));
product.setName(rs.getString("name"));
product.setPrice(rs.getDouble("price"));
products.add(product);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭连接
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return products;
}
}
```
这段代码中,使用JDBC连接MySQL数据库,首先在`getConnection()`方法中加载数据库驱动并获取数据库连接,然后在`getAllProducts()`方法中执行查询语句,将查询结果封装为`Product`对象并添加到`products`列表中,最后关闭连接并返回`products`列表。
阅读全文