728x90
반응형
SMALL

전체 글 75

Spring Data JPA

스프링 데이터 JPA 리포지토리공통 인터페이스 분석공통 인터페이스 설정@Configuration@EnableJpaRepositories(basePackages = "jpabook.jpashop.repository")public class AppConfig {}>스프링부트 사용시 @SpringBootApplication 위치를 지정(해당 패키지와 하위 패키지 인식) 만약 위치가 달라지면 @EnableJpaRepositories 필요 @Repository 애노테이션 생략가능스프링 데이터 JPA 기반 리포지토리public interface MemberRepository extends JpaRepository {}>JpaRepository 인터페이스 : 공통CRUD 제공 제네릭타입 설정제네릭 타입- T: 엔티..

Spring 2024.09.30

Spring JPA (1)

JPAJava Persistence API자바 진영의 ORM 기술 표준ORM (Object-relational mapping) JPA는 애플리케이션과 JDBC 사이에서 동작데이터베이스 방언JPA는 특정 데이터베이스에 종속적이지 않다.각각의 데이터베이스가 제공하는 SQL 문법과 함수가 조금씩 다른데JPA는 'hibernate.dialect' 속성에 지정하여 해당 방언들을 지원한다.엔티티 매니저 팩토리와 엔티티 매니저출처:자바 ORM 표준 JPA 프로그래밍 - 기본편 (김영한)EntityManagerFactory//엔티티 매니저 팩토리 생성, 비용이 많이 들어 하나만들어서 공유해서 사용//hello는 JPA설정파일 네임EntityManagerFactory emf = Persistence.createEntit..

Spring 2024.09.30

Spring DB 데이터 접근 기술

데이터 접근 기술SQLMapper : SQL을 작성하면 해당 SQL의 결과를 객체로 편리하게 매핑JdbcTemplateMyBatisORM 관련 기술 : 기본적인 SQL은 JPA가 처리하고, 개발자는 객체를 마치 자바 컬렉션에 저장하고 조회하듯이 사용JPA, Hibernate스프링 데이터 JPAQuerydslDTO (Data Transfer Object)- 데이터 전송객체- 특별한 기능은 없고 데이터를 전달하는 용도로 사용되는 객체JdbcTemplateJdbc를 직접 사용했을 경우 반복문제를 해결할 수 있다.동적쿼리는 해결하기가 어렵다.private final JdbcTemplate template;public JdbcTemplateItemRepository(DataSource datasource){ ..

Spring 2024.09.30

Spring DB 예외처리

자바예외예외 계층예외 기본 규칙예외는 잡아서 처리하거나 던져야한다. 예외를 잡거나 던질ㄷ 때 지정한 예외뿐만 아니라 하위 예외까지 함께 처리된다.체크예외 VS 언체크예외 (런타임예외)체크예외체크예외는 예외를 잡아서 처리할 수 없을 때, 예외를 밖으로 던지는 'throw'를 반드시 선언해야한다. 그렇지 않으면 컴파일 오류가 발생언체크예외 (런타임예외)예외를 잡아서 처리하지 않아도 'throw'를 생략할 수 있다.언체크예외를 사용해야하는 이유복구 불가능한 예외예를들면 SQLException 예외는 데이터베이스에서 발생하는 예외이다.이런 예외는 서비스나 컨트롤러에서는 처리가 불가능하다.따라서 이런 문제들을 일관성있게 공통으로 처리해야한다.의존 관계에 대한 문제예를들면 마찬가지로 SQLException 예외를 ..

Spring 2024.09.30

Spring DB 트랜잭션

트랜잭션트랜잭션 개념쪼갤 수 없는 업무 처리의 최소 단위 (거래내역)하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻함.예를들면 계좌이체 경우 A계좌에서 B계좌로 이체시 A의 돈이 빠져나가고B의 돈이 들어온 거래내역을 하나의 작업으로 동작해야하는걸 보장해야한다.트랜잭션 ACID원자성(Atomicity) : 트랜잭션 내에서 실행한 작업들은 마치 하나의 작업인것 처럼 모두 성공 또는 실패해야한다.일관성(Consistency) : 모든 트랜잭션은 일관성 있는 데이터베이스 상태를 유지해야한다.격리성(Isolation) : 동시에 실행되는 트랜잭션들이 서로에게 영향을 미치지 않도록 격리한다. 예를 들면 동시에 데이터를 수정하지 못하도록 해야 한다.지속성(Durability) : 트랜잭션을 성공적으로 끝내면 그..

Spring 2024.09.30

Spring DB JDBC

JDBC 이해JDBC 표준 인터페이스JDBC(Java DataBase Connectivity)는 자바에서 데이터베이스에접속할 수 있도록 하는 자바 APIJDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공JDBC를 사용하여 데이터베이스가 변경되어도 JDBC 표준 인터페이스만 의존하면 된다.DriverManager JDBC가 제공하는 DriverManager는 라이브러리에 등록된 DB 드라이버들을 관리하고, 커넥션을 획득하는 기능일 제공 public class DBConnectionUtil { public static Connection getConnection() { try { Connection connection = DriverMana..

Spring 2024.09.30

Spring MVC 파일업로드

파일 업로드HTML 폼 전송 방식multipart/form-dataform 태그에 별도의 'enctype="multipart/form-data"를 지정해야한다.서블릿을 이용한 파일 업로드 파일 업로드 경로설정 application.properties file.dir=파일업로드 경로 (/Users/Seung/uplad/ 마지막에 '/' 추가된 것에 주의 업로드 사이즈 제한 spring.servlet.multipart.max-file-size=1MB spring.servlet.multipart.max-request-size=10MB file-size: 파일하나의 최대사이즈, 기본 1MB request-size: 여러파일 업로드시 전체합, 기..

Spring 2024.09.30

Spring MVC 컨버터와 포매터

스프링 타입 컨버터스프링은 자동으로 타입 변환 적용을 해준다스프링 MVC 요청 파라미터@RequestParam, @ModelAttribute, @PathVariable@Value 등으로 YML 정보 읽기XML에 넣은 스프링 빈 정보를 반환뷰를 렌더링 할때타입 컨버터 - Converter타입 컨버터는 동일한 이름의 인터페이스가 많으니 해당 인터페이스 사용 'org.springframework.core.convert.convert.Converter'타입 컨버터 인터페이스 public interface Converter{ T convert(S source);}타입 컨버터 사용 예시 (String -> Integer)public class StringToIntegerConverter implements Co..

Spring 2024.09.30
728x90
반응형
LIST