请帮我完成一篇基于Spring构建网上花店系统的数据访问层(DAO)主要负责与数据库进行交互,进行数据的增、删、改、查的代码
时间: 2024-05-14 09:19:18 浏览: 78
好的,以下是一份基于Spring构建网上花店系统的数据访问层(DAO)代码示例:
```
package com.example.flower_shop.dao;
import com.example.flower_shop.entity.Flower;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class FlowerDaoImpl implements FlowerDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void addFlower(Flower flower) {
String sql = "INSERT INTO flower (name, price, description, image) VALUES (?, ?, ?, ?)";
jdbcTemplate.update(sql, flower.getName(), flower.getPrice(), flower.getDescription(), flower.getImage());
}
@Override
public void deleteFlower(int id) {
String sql = "DELETE FROM flower WHERE id=?";
jdbcTemplate.update(sql, id);
}
@Override
public void updateFlower(Flower flower) {
String sql = "UPDATE flower SET name=?, price=?, description=?, image=? WHERE id=?";
jdbcTemplate.update(sql, flower.getName(), flower.getPrice(), flower.getDescription(), flower.getImage(), flower.getId());
}
@Override
public Flower getFlowerById(int id) {
String sql = "SELECT * FROM flower WHERE id=?";
return jdbcTemplate.queryForObject(sql, new Object[]{id}, new FlowerMapper());
}
@Override
public List<Flower> getFlowerList() {
String sql = "SELECT * FROM flower";
return jdbcTemplate.query(sql, new FlowerMapper());
}
private static class FlowerMapper implements RowMapper<Flower> {
@Override
public Flower mapRow(ResultSet rs, int rowNum) throws SQLException {
Flower flower = new Flower();
flower.setId(rs.getInt("id"));
flower.setName(rs.getString("name"));
flower.setPrice(rs.getDouble("price"));
flower.setDescription(rs.getString("description"));
flower.setImage(rs.getString("image"));
return flower;
}
}
}
```
这份代码使用了Spring的JdbcTemplate来进行数据库操作。其中,FlowerDao接口定义了对花卉数据的增、删、改、查等操作;而FlowerDaoImpl类则实现了这些操作的具体实现,同时使用了JdbcTemplate来进行数据库的CRUD操作。具体的实现细节可以参考代码注释。
阅读全文
相关推荐

















