본문 바로가기

사이드 프로젝트

(19)
[Spring project] 투투 리스트 프로젝트 완성: 모든 과정을 정리하며 결과1. To do 리스트 화면리스트 조회 화면진행 상태 표시 2. To do 리스트 추가화면To do 리스트 추가화면10글자 초과할 경우 유효성 체크3. 상세 내용 리스트상세 내용 리스트상단에 To do 제목 표시전체 삭제 수정 및 단건 삭제 기능   결론 및 고찰 이번 프로젝트를 통해 Bootstrap과 JavaScript를 활용한 반응형 웹사이트 개발에 대한 이해를 깊게 할 수 있었다. 특히, 모달을 통한 동적인 UI 구현 과정에서 사용자 경험을 고려한 디자인의 중요성을 느꼈다. 처음에는 복잡해 보였던 데이터 바인딩과 동적 인터페이스 구현이 점차 명확해지면서, 보다 직관적이고 사용성 높은 웹 애플리케이션을 만들 수 있었다.이 프로젝트는 단순한 기능 구현에서 끝나는 것이 아니라, 실무에서 자주 사용하..
[Spring project] Spring Boot Todo 리스트 관리: Todo 데이터 수정 및 삭제 처리 이번 포스팅에서는 Spring Boot와 JPA를 사용하여 Task 엔티티의 데이터를 수정하고 삭제하는 방법을 다룬다. 특히, 특정 엔티티를 삭제할 때 연관된 데이터도 함께 삭제해야 하는 시나리오와 트랜잭션 관리를 중심으로 설명할 예정이다. 1. 수정 처리: Task 엔티티의 데이터 수정Spring Boot에서 특정 엔티티의 필드만 수정하는 것은 매우 간단하다. 아래는 Task 엔티티의 taskNm(할 일 이름)과 modifyDt(수정일)를 수정하는 예제이다.Task 수정 메서드 구현Controller.java@PostMapping("/{totoNo}/tasks/{taskNo}/edit")public String updateTaskNameAndDate(@PathVariable int totoNo, @Pa..
[Spring project] Spring Boot Todo 리스트 관리: 삭제 기능 구현 및 Task 입력 기능 이번 포스팅에서는 Todo 리스트 관리 애플리케이션에서 Task 삭제 기능과 Task 입력 기능을 구현한 과정을 정리하려고 한다. 이를 통해 Spring Boot와 Thymeleaf, MySQL을 연동하여 CRUD 기능을 어떻게 처리했는지 자세히 설명하겠다.삭제 기능 구현1. Task 삭제 기능 구현Todo 리스트에서 특정 Task를 삭제하는 기능을 먼저 구현했다. Task 엔티티는 taskNo와 totoNo로 복합 키를 구성하고 있어, 이를 고려한 코드를 작성해야 했다.1.1 TaskController - 삭제 기능 추가삭제 요청을 처리하기 위해 컨트롤러에 DELETE 요청을 매핑하여 처리하는 메서드를 추가했다. // TaskController.java@GetMapping("/totos/{totoNo}..
[Spring project] Task 리스트 조회, 입력 Task 이름: 상태: Toto ID: 저장Task 엔티티 생성Task 엔티티는 작업의 이름, 상태, 생성/수정 시간을 관리하며, Toto라는 다른 엔티티와 다대일 관계로 연결된다. writeDt와 modifyDt는 자동으로 현재 날짜와 시간을 설정하며, status는 입력되지 않았을 때 기본값으로 "N"을 설정.package com.babobird.Toto.entity;import com.babobird.Toto.dto.TaskFormDto;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;import lombok.ToString;import java.time.LocalDateTime;@E..
[Spring Project] To do 리스트 조회 프로젝트 설정Spring Boot 프로젝트에서 Thymeleaf 템플릿 엔진을 사용하려면 필요한 의존성을 추가해야 한다. build.gradle 파일에 다음과 같은 의존성을 추가해보자. MySQL을 사용하는 경우 mysql-connector-java도 추가build.gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtime..
[Spring project] 테이블 설계 테이블 설계단일 테이블로 개발한다. 추후 task 테이블을 분리할 예정
[Spring project] 회원 관리 프로그램 완성 화면 메인 페이지  회원 가입 페이지  회원 목록   아주 간단한 회원가입 프로그램을 완성했다. 스프링의 전반적인 흐름을 파악할 수 있었다.  프로젝트를 복습하면서 사이드 프로젝트를 만들어 볼 계획이다. 사이드 프로젝트는 디자인도 입히고, 테이블도 늘려서 더 고도화 된 프로그램을 만들 것이다.
[Spring project] 스프링 데이터 JPA 스프링 데이터 JPA지난 포스팅에서는 JPA를 사용했다. JDBC보다 개발 생산성이 많이 증가하고, 개발해야할 코드도 확연히 줄어들었다. 이번엔 스프링 데이터 JPA를 사용해보자.  스프링 데이터 JPA는 JPA를 편리하게 사용하도록 도와주는 기술이다. 스프링 데이터 JPA 회원 리포지토리SpringDataJpaMemberRepositorypublic interface SpringDataJpaMemberRepository extends JpaRepository, MemberRepository{ @Override Optional findByName(String name);} => JpaRepository를 상속하고 있으면 구현체를 자동으로 만들어준다. 스프링 빈도 스프링 데이터 JPA 가 구현..