반응형

Spring jdbc repository sample 코드 입니다.


import java.util.List;
 
import xxx.Category;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
 
@Repository
public class CategoryRepository {
 
    @Autowired
    private JdbcTemplate jdbcTemplate;
 
    StringBuffer query;
 
    public List<Category> selectCategorys() {
        query = new StringBuffer();
        query.append("SELECT id, name ");
        query.append("  FROM category ");
        query.append(" ORDER BY id");
        return jdbcTemplate.query(query.toString(), new Object[] {},
                new BeanPropertyRowMapper<Category>(Category.class));
    }
 
    public int selectCategoryTotalCount() {
        return jdbcTemplate.queryForObject("SELECT count(*) AS total_count FROM category", Integer.class);
    }
 
    public Category selectCategory(int id) {
        return (Category) jdbcTemplate.queryForObject("SELECT id, name FROM category WHERE id = ?"new Object[] { id },
                new BeanPropertyRowMapper<>(Category.class));
    }
 
    public int insertCategory(Category category) {
        return jdbcTemplate.update("INSERT INTO category (id, name) VALUES(?, ?)", category.getId(), category.getName());
    }
 
    public int updateCategory(Category category) {
        return jdbcTemplate.update("UPDATE category SET name=? WHERE id=?", category.getName(), category.getId());
    }
 
    public int deleteCategory(int id) {
        return jdbcTemplate.update("DELETE FROM category WHERE id = ?", id);
    }
 
}



반응형

+ Recent posts