
작업 순서 1. 출금, 이체(출금) 또는 입금,이체(입금) 2. 계좌 번호 함께 출력 하기 3. COALESCE 함수와 CAST 함수 사용해 보기 4. 입,출금에 대한 모든 정보 출력 하기 (CASE 구문에 활용) 5. 코드상에서 사용할 쿼리 확인 위 내용은 마이바티스에서 동적 쿼리(사용자 선택)를 생성하기 활동 입니다. 1. 출금, 이체(출금) 또는 입금, 이체(입금)select * from history_tb;-- 1번 계좌 출금 내역 select * from history_tb where w_account_id = 1; -- 1번 계좌 입금 내역 select * from history_tb where d_account_id = 1; 2. 쿼리문 이해초기 계좌 잔액 1111 계좌 잔액 : 100..

작업 순서1. transfer.jsp 파일 생성2. 이체 기능 만들기3. 주요 파일 전체 코드 확인4. 동작 테스트 transfer.jsp 생성 이체 요청(인증) Bank App에 오신걸 환영합니다 이체 금액: 출금 계좌 번호: 출금 계좌 비밀번호: 입금(이체)계좌 번호: 이체하기 결과 확인 TransferDTOpackage com.tenco.bank.dto;import lombok.Data;@Datapublic class TransferDTO { private Long amount; // 거래 금액 private String wAccountNumber; // 출금계좌 번호 private String dAcco..

작업 순서1. account/deposit.jsp 파일 생성 2. DepositDTO 파일 생성 3. 입금 기능 만들어 보기 4. 전체 코드 확인 하기 5. 오류 테스트 확인 하기 dto 패키지에 DepositDTO.java 생성package com.tenco.bank.dto;import lombok.Data;@Datapublic class DepositDTO { private Long amount; private String dAccountNumber; } account 폴더에 deposit.jsp 생성 입금 요청(인증) Bank App에 오신걸 환영합니다 입금 금액: 입금 계좌 번호: ..

작업 순서1. withdrawal.jsp 파일 생성 및 코드 추가 2. 출금 화면 요청 및 기능 구현 3. 전체 코드 확인 withdrawal.jsp 생성 출금 요청(인증) Bank App에 오신걸 환영합니다 출금 금액: 출금 계좌 번호: 출금 계좌 비밀 번호 : 출금 요청 결과 화면 WithdrawalDTO 생성package com.tenco.bank.dto;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import lombok.ToString;@Data@NoArgsConstru..
리백토링(Refactoring) 소프트웨어의 외부 동작을 변경하지 않으면서 내부 구조를 체계적으로 개선하는 과정을 말합니다. 이 과정은 코드의 가독성을 높이고, 유지보수를 용이하게 하며, 오류 발견 및 수정을 용이하게 하는 것을 목표로 합니다. 리팩토링은 소프트웨어 개발의 중요한 부분으로, 코드의 품질을 지속적으로 향상시키기 위해 필요합니다. 리팩토링의 목적가독성 향상: 코드를 더 이해하기 쉽게 만들어 다른 개발자가 코드를 빠르게 이해하고 수정할 수 있도록 합니다.유지보수성 개선: 코드의 구조를 개선하여 나중에 버그를 수정하거나 새로운 기능을 추가할 때 필요한 노력을 줄입니다.성능 최적화: 비효율적인 코드를 개선하여 애플리케이션의 실행 성능을 향상시킬 수 있습니다.재사용성 증가: 코드의 모듈성을 높여 다..

작업 순서 1. AccountRepository, account.xml 코드 확인하기 2. 계좌 목록 기능 만들기 3. account/list.jsp 파일을 생성 AccountRepository(인터페이스)package com.tenco.bank.repository.interfaces;import java.util.List;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;import com.tenco.bank.repository.model.Account;//AccountRepository 인터페이스와 account.xml 파일을 매칭 시킨다. @Mapper public interface Accou..

파싱(parsing)주어진 데이터(예: 문서, 파일, 문자열 등)를 분석하여 구조를 이해하고, 필요한 정보를 추출 또는 변환하는 과정을 의미합니다. 프로그래밍에서는 주로 원시 데이터를 원하는 형태로 가공하기 위해 사용됩니다.예를 들어 HTML 문서에서 특정 데이터를 추출하거나, JSON 문자열을 객체로 변환하는 등의 작업이 파싱에 해당합니다. account/save.jsp 파일 생성 계좌생성(인증) Bank App에 오신걸 환영합니다 number: Password: number: 계좌 생성 SaveDTO 생성package com.tenco.bank.dto;import com.tenco.bank.repository.model...

1. dto 설계 하기 및 개념 확인(사전 기반 지식) 2. UserController, UserService 설계 및 유효성 검사, 예외 처리 3. h2 스키마 및 초기 데이터 셋팅 4. 회원 가입 화면 구현 1. 사전 기반 지식 DTO 패키지와 Model 패키지를 분리하는 것이 바람직하다. DTO(Data Transfer Object)와 모델 클래스를 분리하여 패키지를 만드는 것이 좋습니다. 그 이유는 다음과 같습니다:1. 코드의 가독성 및 유지 보수성: DTO와 모델 클래스를 별도의 패키지로 구분함으로써 코드의 구조가 명확해지고, 관련 클래스를 찾기 쉬워집니다. 이를 통해 유지 보수성이 향상됩니다. 2. 객체의 역할 구분: 모델 클래스는 데이터베이스의 테이블 구조를 표현하는 반면, DTO는 클..

@Autowired: 의존성 주입(Dependency Injection)을 수행할 때 사용되며, 필드, 생성자, 메서드에 적용할 수 있습니다.@Controller: 웹 애플리케이션의 컨트롤러 클래스를 표시합니다.@Service: 비즈니스 로직을 수행하는 서비스 클래스를 표시합니다.@Repository: 데이터 액세스 계층에 사용되는 리포지토리 클래스를 표시합니다.@RestController: RESTful 웹 서비스의 컨트롤러 클래스를 표시합니다. **@Controller**와 **@ResponseBody**를 함께 사용하는 단축 형태입니다. @Configuration과 @Component의 주요 차이점 @Configuration은 스프링 빈을 정의하는 설정 클래스에 붙이는 반면, @Component는 ..

1. @ControllerAdvice와 @RestControllerAdviceHTTP 통신을 통해 예외 상황을 클라이언트에게 알려주는 방법은 여러 가지가 있으며, 이들을 적절히 사용하는 것이 중요합니다. @ControllerAdvice와 @RestControllerAdvice는 Spring Framework에서 제공하는 어노테이션들로, 애플리케이션 전역에 걸쳐 발생하는 예외를 효과적으로 관리하고 처리하는 데 사용됩니다. 이들은 일종의 "예외 처리의 중앙 집중화"를 가능하게 해주며, 애플리케이션 내 여러 컨트롤러나 서비스에서 공통적으로 발생할 수 있는 예외를 한 곳에서 관리할 수 있게 해줍니다. 2. @ControllerAdivce 와 @RestControllerAdivce 의 차이점 @Controll..