Dao里是如下函数public List<Product> getAllProductMess(List<Product> products){ List<Product> allProducts = null; String sql ="select pid,pname,pimage,shop_price,cid from product"; try { allProducts = queryRunner.query(connection, sql, new BeanListHandler<>(Product.class)); } catch (SQLException throwables) { throwables.printStackTrace(); } return allProducts; }把这个方法写到service里,并在方法里调用dao里方法
时间: 2024-03-14 12:44:04 浏览: 55
Java通用的BaseDao(我是用连接池做的你把里面代码换一下就行了)
好的,将 DAO 层的方法放到 Service 层中,可以如下实现:
```
public List<Product> getAllProductMess() {
List<Product> allProducts = null;
try {
// 获取数据库连接
Connection conn = DBUtil.getConnection();
// 调用 DAO 层的方法执行查询操作
allProducts = productDao.getAllProductMess(conn);
// 关闭数据库连接
DBUtil.closeConnection(conn);
} catch (SQLException e) {
e.printStackTrace();
}
return allProducts;
}
```
其中,`productDao` 是 DAO 层的对象,`DBUtil` 是数据库连接工具类。
然后在 DAO 层中,将方法修改为接收一个数据库连接参数,如下所示:
```
public List<Product> getAllProductMess(Connection conn) throws SQLException {
List<Product> allProducts = null;
String sql = "select pid,pname,pimage,shop_price,cid from product";
allProducts = queryRunner.query(conn, sql, new BeanListHandler<>(Product.class));
return allProducts;
}
```
这样,在 Service 层中就可以调用 DAO 层的方法获取所有商品信息了。
阅读全文