스프링 부트는 모든 것에 기본값을 제공하며 데이터베이스의 기본값은 H2이므로이 값을 변경하고 다른 데이터베이스를 사용하려면 application.properties 파일에서 연결 속성을 정의해야합니다.
은 소스 폴더에서, 당신은
spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword
spring.jpa.hibernate.ddl 오토 할 수있는 application.properties/리소스 파일 SRC / 메인/리소스를 생성 갱신, 생성, 생성 - 삭제, Hibernate 문서를 참조하십시오.
없음 이것은 MySQL의 기본값이며 데이터베이스 구조는 변경되지 않습니다. 업데이트 Hibernate는 주어진 Entity 구조에 따라 데이터베이스를 변경한다.
- create 매번 데이터베이스를 생성하지만 닫을 때 데이터베이스를 삭제하지 않습니다.
- create-drop 데이터베이스를 작성한 다음 SessionFactory가 닫힐 때 데이터베이스를 삭제합니다.
시작은 아직 데이터베이스 구조가 없기 때문에 create로 시작합니다. 처음 실행 한 후에는 프로그램 요구 사항에 따라 업데이트하거나 없음으로 전환 할 수 있습니다. 데이터베이스 구조를 일부 변경하려면 업데이트를 사용하십시오.
H2 및 기타 임베디드 데이터베이스의 기본은 만들 드롭하지만, MySQL은 같은 다른 사람을 위해 아무도
없습니다입니다 그것은 데이터베이스를 프로덕션 상태에 후,이 아무도하지 않습니다 모든 권한을 취소하는 것이 좋은 보안 방법입니다 Spring 애플리케이션에 연결된 MySQL 사용자로부터 SELECT, UPDATE, INSERT, DELETE 만 제공한다.
응용 프로그램을 실행 가능하게 만듭니다.
이 서비스를 외부 응용 프로그램 서버에 배포하기위한 기존 WAR 파일로 패키지화 할 수는 있지만 다음과 같은 간단한 접근 방법은 독립 실행 형 응용 프로그램을 만듭니다. 좋은 오래된 Java main() 메소드로 구동되는 실행 가능한 단일 JAR 파일로 모든 것을 패키지화합니다.그동안 외부 인스턴스에 배포하는 대신 Tomcat 서블릿 컨테이너를 HTTP 런타임으로 포함시키기위한 Spring의 지원을 사용합니다.
SRC/메인/자바/인사/Application.java
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
가이드 : 당신은 무엇을 당신의 목표를 명확히해야합니다 있도록 https://spring.io/guides/gs/accessing-data-mysql
귀하의 질문은 명확하지 않다 귀하의 응용 프로그램이 어떻게 구성되어 있는지 (자세한 내용). 응용 프로그램이 기존 데이터베이스에 연결할 수 있는지 여부를 묻는가, 아니면 스프링 부트를 시작하여 사용중인 데이터베이스 서버에 새 데이터베이스를 자동으로 배포하고 만드는 방법을 묻는 중입니까? – Pytry
여기에 MySQL 인 데이터 소스 초기화에 대해 묻습니다. 새 PC에있는 sql 파일을 복사하고 응용 프로그램 Jar를 실행하면 작동합니까? –
DataSource는 데이터베이스 연결을 허용하는 Java 객체입니다. 데이터베이스는 동일한 시스템 또는 네트워크의 다른 위치에있을 수 있습니다. 데이터 소스를 구성 할 때 URL을 지정하여 위치를 정의합니다. MySQL은 데이터베이스입니다. 그것은 DataSource가 아닙니다. SQL 파일은 단지 파일입니다. 그들은 DataSource가 아니며 데이터베이스도 아닙니다. 단지 실행을 위해 데이터베이스로 보낼 수있는 SQL 명령어 만 포함합니다. 자, 뭐라 구요? 정확한 용어로 Pytry의 질문에 대답하십시오. –