CrudRepository를 사용하지 않고 Java Spring Boot 애플리케이션 내에 정의 된 엔티티를 데이터베이스에 반영하는 방법

파이살

스프링 부트와 mySQL을 사용하여 웹 애플리케이션을 구축하고 있습니다. 나는 편지에 대한 비디오 가이드 시리즈를 따라 왔지만 저자는 그가 데이터베이스를 설정하는 방법을 보여주지 않았습니다.

이것은 내가 결과를 복제하는 데 붙어있는 비디오입니다 : https://www.youtube.com/watch?v=KBfiEL-FomQ&index=7&list=PL2OrQJM8zmZ0k-S5FfR2qrwgupnaINO0m

mySQL 워크 벤치를 사용하여 연결과 스키마를 만들었습니다. 나는 그가 어떻게했는지 정확히 앱을 구성했지만 그의 비디오에서는 앱 내에서 생성 된 엔티티가 그의 스키마에 테이블로 표시되는 반면 내 것은 그렇지 않습니다.

나는 그의 github에서 그의 프로젝트 코드를 가져 와서 실행 해 보았지만 다시 내 스키마에 테이블을 생성하지 않습니다.

application.properties 구성은 다음과 같습니다.

spring.datasource.url = jdbc:mysql://localhost:3306/freshvotes
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.username=example_user
spring.datasource.password=password123

spring.jpa.database-platform=org.hibernate.dialect.MySQL57Dialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update

spring.thymeleaf.cache=false

이것은 내가 만든 사용자 엔티티입니다.

package com.freshvotes.domain;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="users")
public class User {

private Long id;
private String username;
private String password;
private String name;

@Id @GeneratedValue (strategy=GenerationType.IDENTITY)
public Long getId() {
    return id;
}
public void setId(Long id) {
    this.id = id;
}
public String getUsername() {
    return username;
}
public void setUsername(String username) {
    this.username = username;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}


}

예상되는 결과는 앱을 Spring Boot 앱으로 실행하자마자 엔티티가 mySQL localhost 서버에서 만든 스키마 내의 테이블로 표시된다는 것입니다.

내가 얻는 것은 내 데이터베이스 서버에 아무것도 표시되지 않습니다. 스키마가 생성되었는지 여부에 관계없이. 오프라인에서 서버로 앱을 실행할 때 IDE 콘솔에서 오류가 발생하지 않습니다.

파이살

그래서 의도 한대로 실행되도록했습니다. 이전에 maven을 사용하여 프로젝트를 빌드하는 동안 오류가 발생했으며 내 pom.xml 파일에 3 개의 종속성을 추가했습니다. 내 프로젝트를 빌드하고 실행했지만 데이터베이스를 업데이트하지는 않았습니다.

나는 그 의존성을 다시 언급했지만 이번에는 제대로 구축되었고 의도 한대로 실행되었다.

이것에 대해 궁금하다면 지금 주석이 달린 종속성이 있습니다.

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.1.4.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.2.3.Final</version>
    </dependency>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사