일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Gradle
- 우리에프아이에스 #
- AWS
- M2
- 로드밸런스
- 우리FIS아카데미 #
- 글로벌소프트웨어캠퍼스
- 우리FIS아카데미
- 우리FISA
- route 53
- 클라우드 서비스 개발 #
- 우리FISA #
- 맥OS
- sts
- 우리에프아이에스
- https
- springboot
- mysql
- jdk
- HTTP
- K-디지털트레이닝
- 클라우드 서비스 개발
- 맥북
- dbeaver
- 리눅스
- 도메인
- Java
- 맥
- spring
- Today
- Total
목록JPA & JDBC (7)
<<개발일지>>
지정한 이름 그대로

네, 정확히 말씀하셨습니다. spring.jpa.hibernate.ddl-auto=create 설정으로 애플리케이션을 시작할 때, JPA/Hibernate는 엔티티 클래스들을 스캔하고 해당하는 테이블을 데이터베이스에 생성합니다. 만약 엔티티 간에 관계가 정의되어 있고, 이 관계를 나타내는 외래 키(foreign key)나 조인 테이블(join table)이 필요한 경우, 이 관계에 해당하는 모든 엔티티의 테이블이 데이터베이스에 성공적으로 생성되어 있어야 합니다. JPA/Hibernate가 테이블을 생성하는 과정에서 다음과 같은 상황이 발생할 수 있습니다: 순서 문제: JPA/Hibernate가 테이블 생성 순서를 관리하며, 관계에 있는 엔티티들의 테이블을 올바른 순서로 생성해야 합니다. 하지만, 특정 테..
jdbc란 자바 프로그램 안에서 SQL을 실행 하기 위한 응용프로그램 인터페이스이다. 연결하는법 우선 DB와 연결해주기 위한 작업을 한다. package dev.syntax.step05statemanaging.step03practice; import java.io.FileInputStream; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; /* * DB와 관련된 공통 처리 코드들을 별도의 유틸 클래스로 작성 */ public class DBUtil { /* java.util 패키지에서 제공하는..
You have an error in your SQL syntax; check the manual that correspondsto your MySQL server version for the right syntax to use near ~~ 이는 보통 쿼리문의 문법이 틀렸기에 발생하는 에러이다. 그러니 쿼리 문법을 다시 살펴볼 필요가 있다.
나는 원한는 값만 추출하기 위해 for문을 통해 처음 구현 했다. 하지만 query문 같은 경우 where id = ? 이렇게 설정해놓고 statement.setInt(1, todoId) 이런식으로 설정 해두면 todoId에 해당하는 값만 추출한다. setInt(1, todoId) 여기 매개변수 중에 1 같은 경우는 ?가 여러개 있을 때 몇번 째 자리의 ?에 todoId 값을 넣을지 설정해주는 것이다!! 만약 ?가 3개이고 2번째 ?에 넣고 싶다면 setInt(2, todoId) 이렇게 설정하면 된다. public Todo findById(int todoId) throws SQLException { // ex. findById(2); // id가 2번인 Todo 객체를 반환하는 메서드 Todo todo ..

일반적으로 DB 데이터를 불러 올 때 try catch finally 방식을 이용한다. 하지만, java 7 이후로 try resources 도 가능하게 되는데 이때 try안에 들어가는 데이터의 순서가 중요하며, AutoCloseable 인터페이스를 상속하고 있는 클래스만 들어갈 수 있다. 이렇게 하면 finally 를 써서 close() 까지 해야하는 하드코딩을 하지 않고 작성할 수 있다. AutoCloseable 를 상속하고 있는 연결(Connection) SQL실행(Statement) SQL실행하고 나온 데이터베이스 결과 값을 반환한(ResultSet) 순서대로 진행한다.

Connector j란 자바코드로 DB에 접속해서 데이터를 관리하게 만들어주는 모듈 이다 Connector j를 설치하기 위해서 "maver repository" 에 접속한다. https://mvnrepository.com/artifact/com.mysql/mysql-connector-j/8.2.0 그리고 설치 되어 있는 "mysql" 버전과 맞춰 다운로드 해준다. 나는 mysql 버전이 8.2.0 이므로 거기에 맞게 설치했다. 그리고 내가 작업하고 있는 프로젝트 properties에 들어간다. 그 다음, classpath에다가 connector j . jar을 넣어준다. 그렇게 하면 최종적으로 자바로 DB를 연결할 수 있는 환경설정이 완료가 된다.