public interface ColumnService {
List<Column> getAllColumns();
Column getColumnById(Long id);
Column createColumn(Column column);
Column updateColumn(Long id, Column column);
void deleteColumn(Long id);
}
@Override
public Column createColumn(Column column) {
return columnRepository.save(column);
}
ColumnService 인터페이스는 'Column' 데이터에 대한 CRUD(Create, Read, Update, Delete) 연산을 정의하고 있다. 이 인터페이스를 구현한 ColumnServiceImpl 클래스에서는 위 메서드들을 구현하여 실제로 데이터베이스와의 상호작용을 담당하게 된다.
@Service
public class ColumnServiceImpl implements ColumnService {
@Autowired
private ColumnRepository columnRepository;
@Override
public List<Column> getAllColumns() {
return columnRepository.findAll();
}
@Override
public Column getColumnById(Long id) {
return columnRepository.findById(id).orElse(null);
}
@Override
public Column createColumn(Column column) {
return columnRepository.save(column);
}
@Override
public Column updateColumn(Long id, Column updatedColumn) {
Optional<Column> existingColumn = columnRepository.findById(id);
if (existingColumn.isPresent()) {
Column column = existingColumn.get();
column.setName(updatedColumn.getName());
return columnRepository.save(column);
} else {
return null; // 예외 처리
}
}
@Override
public void deleteColumn(Long id) {
columnRepository.deleteById(id);
}
}
interface를 구현하여 코드를 사용하는 이유
git checkout -b card
를 사용해서 바로 옮길 수 있었다.