Spring64 데이터 접근 기술 - 시작 SQLMapper JdbcTemplate MyBatis ORM 관련 기술 JPA, Hibernate 스프링 데이터 JPA Querydsl SQL Mapper 주요기능 개발자는 SQL만 작성하면 해당 SQL의 결과를 객체로 편리하게 매핑해준다. JDBC를 직접 사용할 때 발생하는 여러가지 중복을 제거 ORM 주요 기능 JdbcTemplate이나 MyBatis 같은 SQL 매퍼 기술은 SQL을 개발자가 직접 작성해야 하지만, JPA를 사용하면 기본적인 SQL은 JPA가 대신 작성하고 처리해준다. 개발자는 저장하고 싶은 객체를 마치 자바 컬렉션에 저장하고 조회하듯이 사용하면 ORM 기술이 데이터베이스에 해당 객체를 저장하고 조회해준다. JPA는 자바 진영의 ORM 표준이고, Hibernate(하이버네이트)는 .. 2023. 8. 10. 스프링과 문제 해결 - 예외 처리, 반복 체크 예외와 인터페이스 서비스가 처리할 수 없으므로 리포지토리가 던지는 SQLException 체크 예외를 런타임 예외로 전환해서 서비스 계층에 던지자. //체크 예외 적용 인터페이스 public interface MemberRepositoryEx { Member save(Member member) throws SQLException; Member findById(String memberId) throws SQLException; void update(String memberId, int money) throws SQLException; void delete(String memberId) throws SQLException; } //런타임 적용 인터페이스 public interface MemberRepo.. 2023. 8. 10. 자바 예외 이해 Object : 예외도 객체이다. 예외의 최상위 부모도 Object 이다. Throwable : 최상위 예외이다. 하위에 Exception 과 Error 가 있다. Error : 메모리 부족이나 심각한 시스템 오류와 같이 애플리케이션에서 복구 불가능한 시스템 예외이다. 애플리케이션 개발자는 이 예외를 잡으려고 해서는 안된다. 애플리케이션 로직은 Exception 부터 필요한 예외로 생각하고 잡으면 된다. Error 도 언체크 예외이다. Exception : 체크 예외 애플리케이션 로직에서 사용할 수 있는 실질적인 최상위 예외이다. Exception 과 그 하위 예외는 모두 컴파일러가 체크하는 체크 예외이다. (RuntimeException 은 예외) RuntimeException : 언체크 예외, 런타임.. 2023. 8. 9. 스프링과 문제 해결 - 트랜잭션 프레젠테이션 계층 UI와 관련된 처리 담당 웹 요청과 응답 사용자 요청을 검증 주 사용 기술: 서블릿과 HTTP 같은 웹 기술, 스프링 MVC 서비스 계층 비즈니스 로직을 담당 주 사용 기술: 가급적 특정 기술에 의존하지 않고, 순수 자바 코드로 작성 데이터 접근 계층 실제 데이터베이스에 접근하는 코드 주 사용 기술: JDBC, JPA, File, Redis, Mongo ... ★ 순수한 서비스 계층 : 비즈니스 로직은 최대한 변경없이 유지되어야 한다. → 서비스 계층을 특정 기술에 종속적이지 않게 개발해야 한다. 프레젠테이션 계층은 클라이언트가 접근하는 UI와 관련된 기술인 웹, 서블릿, HTTP와 관련된 부분을 담당해준다. 데이터 접근 계층은 데이터를 저장하고 관리하는 기술을 담당해준다. 서비스 계층.. 2023. 8. 9. 이전 1 ··· 4 5 6 7 8 9 10 ··· 16 다음