
<!-- jaxb-runtime -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.3</version>
</dependency>
<!-- jaxb-api -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
server.port=8090
#mysql setting
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/lululala?serverTimezone=Asia/Seoul
spring.datasource.username=lululala
spring.datasource.password=1234
#Jpa setting
#스키마 생성 create: 기존 테이블 삭제 후 생성, update: 변경된 부분만 반영
spring.jpa.hibernate.ddl-auto=update
#ddl 생성 시 데이터베이스 고유기능을 사용할 것인가
spring.jpa.generate-ddl=true
#api 호출 시 실행되는 sql문 콘솔에 보여줄 지
spring.jpa.show-sql=true
#사용할 데이터베이스 종류
spring.jpa.database=mysql
#mysql 상세 지정
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
#jsp setting
spring.mvc.view.prefix=/WEB-INF/mycar/
spring.mvc.view.suffix=.jsp
spring.devtools.livereload.enabled=true
JPA에서는 엔티티는 테이블에 대응하는 하나의 클래스라고 생각하면 된다
spring-boot-starter-data-jpa 의존성을 추가하고 @Entity 어노테이션을 붙이면 테이블과 자바 클래스가 매핑이 됩니다.
그래서 JPA에서 '하나의 엔티티 타입을 생성한다'라는 의미는 '하나의 클래스를' 작성한다는 의미가 됩니다.
엔티티라는 용어는 때로는 클래스를 의미하는 경우도 있고, 클래스에 의해 생성된 인스턴스를 의미하는 경우가 있습니다.
정확히 얘기 하자면, 엔티티클래스 와 엔티티인스턴스 혹은 엔티티객체라는 표현이 정확합니다
@Entity
@Table(name = "mycar") //자동으로 mysql에 mycar 테이블 생성(변수 변경 시 자동 수정)
@Data
public class MycarDto {
@Id //각 엔터티 구별하는 식별id 갖도록 설계 (시퀀스)
@GeneratedValue(strategy = GenerationType.AUTO)
private long num;
@Column(name = "cName")
private String carname;
@Column //이름 같을 시 생략 o
private int carprice;
@Column
private String carcolor;
@Column
private String carguip;
@CreationTimestamp //엔터티가 생성되는 시점의 시간 자동등록 (now 와 동일)
@Column(updatable = false) //수정 시 이 컬럼은 수정 x
private Timestamp guipday;
}
@SpringBootApplication
@ComponentScan({"mycar.data"})
@EntityScan("mycar.data") //dto 인식
@EnableJpaRepositories("mycar.data") //dao 인식
public class BootJpaProject1Application {
public static void main(String[] args) {
SpringApplication.run(BootJpaProject1Application.class, args);
}
}
public interface MyCarDaoInter extends JpaRepository<MycarDto, Long>{
}