728x90

BE Study 6

[BE Study] Day 8 -트랜잭션

◈ 트랙잭션(Transaction) :쪼갤수없는 업무의 최소단위 =모든 SQL을 성공시키거나 하나라도 실패하면 모두 실패시키기. public class OrderService{ public void completePayment(){ orderRepository.save(new Order(..)); pointRepository.save(new Point(..)); billingHistoryRepository.save(new BillingHistory(..)); } //order,point만 성공하고 billing만 실패가 될수 없다. } ● 트랜잭션 시작하기 : start transaction; ● 정상 종료하기 : commit ● 실패처리하기 : rollback ▣ @Transactional // 아래있..

BE Study 2024.02.29

[BE Study] Day 7 - JPA 사용하기

▣ SQL을 직접 작성한다면? 1. 오류 발생에 대하여 컴파일 시점에 발견되지 않고, 런타임 시점에 발견된다. 2. 특정 데이터베이스에 종속적이게 된다. (MySQL → MsSQL 변경시 다 코드를 바꿔주어야 한다.) 3. 반복작업이 많아진다. 테이블 하나 만들때마다 쿼리가 항상 필요하다. 4. 데이터베이스의 테이블 vs 객체 둘간의 패러다임이 다르다. ▣ JPA란? □ JPA(Java Persistence API) ○ Persistence - 영속성: 서버가 재시작되어도 데이터는 영구적으로 저장되는 속성 ○ API: 정해진 규칙 → 데이터를 영구적으로 보관하기 위해 Java진영에서 정해진 규칙 □ 자바진영의 ORM(object-Realtional Mapping) ○ Object: 객체 ○ Realtio..

BE Study 2024.02.27

[BE Study] Day5,6 Controller 분리하기/ Spring Container, Bean

🍫 5일차 과제 public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); System.out.print("숫자를 입력하세요 : "); int a = sc.nextInt(); // 주사위를 던진 횟수 System.out.print("주사위 면의 개수를 입력하게요 : "); int b = sc.nextInt(); int[] result = new int[b]; for (int i = 0; i < a; i++) { int c = (int) (Math.random() * b); result[c]++; } for (int i = 0; i < b; i++) { Syst..

BE Study 2024.02.26

[BE Study] Day 3 - 익명 클래스/ 람다/ 스트림 API

◈ BE스터디 3일차 과제 JdbcTemplate을 이용해 SQL을 MySQL로 날릴수 있다. 익명 클래스 - 프로그램에서 일시적으로 한번만 사용되고 버려지는 객체. → 재사용이 되지 않음(일회성) // 익명 클래스를 사용한 ActionListener의 구현 button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("Button clicked"); } }); // 같은 ActionListener를 다시 사용하려고 하면 불가능 button2.addActionListener(new ActionListener() { @Override public vo..

BE Study 2024.02.23

[BE Study] Day2 - POST API/ LocalDate, LocalTime

더보기 POST API 개발 HTTP Body를 이용하여 데이터를 받는다 JSON - Javascript Object Notation @PostMapping("multiply") public int multiplyTwoNumbers(@RequestBody CalculartorMultiplyRequest request) { return request.getNumber1() * request.getNumber2(); } @RequestBody를 사용하면 클라이언트가 보내는 HTTP요청 본문(JSON or XML)을 Java오브젝트로 변환. 유저 생성 API개발 유저 조회 API controller에서 getter가 있는 객체를 반환하면 JSON형태로 반환 ※ 과제 2일차 ▣ 문제 1 ● 두 수를 입력하면, ..

BE Study 2024.02.21

[BE Study] Day 1 - HTTP 요청/ Server/ 어노테이션(@)

더보기 ◈ 강의 섹션 1: 1~5 Server : 어떠한 기능을 제공하는 프로그램, 그 프로그램을 실행하는 컴퓨터. 네트워크 : 택배 시스템 네트워크 집 컴퓨터 주소/서울시 00구 00동 00번지 IP/ 244.77.51.9 집주소 별칭/파란집 도메인 이름/spring.com 택배받는 사람 port / 3000 데이터를 주고 받는 표준 : HTTP HTTP 요청 POST/oak/leather 메소드 패스 쿼리 Host: spring.com:3000 헤더 한 줄 띄기 오크가죽정보 바디 API(Application Programming Interface) 정해진 약속을 하여, 특정기능(HTTP 주고받기)을 수행하는것. HTTP응답 요청에 대한 응답을 제공한 컴퓨터가 Server 요청을 한 컴퓨터 Client..

BE Study 2024.02.19
728x90