본문 바로가기

spring26

spring mysql 연동 1. mysql 다운로드 2. dependency에 아래꺼 추가 ---->> Reload All Gradle Projects implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'mysql:mysql-connector-java:8.0.32' 3. resources/application.properties에 아래꺼 추가 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/DB이름?serverTimezone=UTC&characterEncoding=UTF-8 spring.. 2023. 5. 21.
인텔리제이 스프링 깃허브 연동 1. git config --global user.mail 깃허브이메일주소 2. git config --global user.name 깃허브이름 3. VCS - share project on github 1. git init 2. git commit -m "first commit" 3. git branch -M main 4. git remote add origin 만들어진 깃허브 레포지토리 5. git push origin main 2023. 5. 17.
다시다시 자바 & 스프링 자바공부 http://www.tcpschool.com/java/java_api_wrapper Model 객체는 Controller 에서 생성된 데이터를 담아 View 로 전달할 때 사용하는 객체 model.Attribute("key", "value") addAttribute("key", "value") 메서드를 이용해 view에 전달할 데이터를 key, value형식으로 전달할 수 있다. 테스트코드는 위에 main에 있는 코드를 기반으로 한다 Assertions.assertThat을 이용하여 테스트. 값 일치 = isEqualTo Long과 long의 차이 Long, Integer --------- long, int Long 1. null 사용 가능 2. Long자체가 하나의 클래스이다. (Ctrl 누르.. 2023. 5. 10.
트랜잭션2 보호되어 있는 글 입니다. 2023. 3. 21.
트랜잭션 트랜잭션 - 하나의 거래를 안전하게 처리하도록 보장해주는 것 commit : 모든 작업이 성공해서 데이터베이스에 정상 반영하는 것 Rollback : 작업 중 하나라도 실패해서 거래 이전으로 되돌리는 것 트랜잭션 ACID 1. 원자성(Atomicity) - 트랜잭션 내에서 실행한 작업들은 마치 하나의 작업인 것처럼 모두 성공하거나 모두 실패해야 한다 2. 일관성(Consistency) - 모든 트랜잭션은 일관성 있는 데이터베이스를 유지해야한다. 데이터베이스에서 정한 무결성 제약 조건을 항상 만족해야함 3. 격리성(Isolation) - 동시에 실행되는 트랜잭션들이 서로에게 영향을 미치지 않도록 격리. 동시에 데이터 수정 못하게. 동시성과 관련된 성능 이슈로 인해 트랜잭션 격리 수준(Isolation le.. 2023. 3. 20.
커넥션풀, 데이터소스 데이터베이스 커넥션을 획득할 때 거치는 과정 1. 애플리케이션 로직은 DB드라이버를 통해 커넥션을 조회 2. DB드라이버는 DB와 TCP/IP커넥션을 연결. 3way handshake같은 TCP/IP연결을 위한 네트워크 동작 발생 3. DB드라이버는 TCP/IP커넥션이 연결되면 ID/PW와 기타 부가정보를 DB에 전달 4. DB는 ID/PW를 통해 내부 인증을 완료하고, 내부에 DB세션을 생성 5. DB는 커넥션 생성이 완료되었다는 응답을 보냄 6. DB드라이버는 커넥션 객체를 생성해서 클라이언트에 반환 커넥션풀 - 커넥션을 관리하는 풀 - 애플리케이션을 시작하는 시점에 커넥션 풀은 필요한만큼 커넥션을 미리 확보해서 풀에 보관 - 커넥션풀에 있는 커넥션은 TCP/IP로 DB와 커넥션이 연결되어있는 상태이.. 2023. 3. 20.