MySQL 데이터베이스를 사용하여 봄 부팅

소개

  이 문서에서는 봄 프로젝트, MySQL 데이터베이스에 연결하는 방법에 대해 설명합니다.
  이 프로젝트는, 이것은 당신이 봄 JDBC 나 MyBatis로 사용할 수 있습니다 하나의 방법입니다 물론 연결된 JPA와 최대 절전 모드 봄 데이터, MySQL 데이터베이스를 사용합니다.
  봄의 데이터는 JPA 스프링 데이터는 주로 데이터를 단순화하는 데 사용되는 하위 프로젝트 액세스 스프링 데이터 JPA 쉽게 CRUD를 구현할 수 있습니다 사용하여 층, 페이징, 위해 등, 정렬. 봄 데이터는 많은 하위 프로젝트를 가지고 스프링 데이터 JPA에 추가하여, 다음과 같은 하위 프로젝트가있다.

  • 봄 데이터 풍경
  • 봄 데이터 MongoDB를
  • 봄 데이터 레디 스
  • 봄 데이터 SOLR
  • 봄 데이터 Gemfire
  • 봄 데이터 REST
  • 봄 데이터 Neo4j

  완전 자동화 된 ORM 프레임 워크입니다, SQL 문을 자동으로 생성 최대 절전 모드, 그것은 데이터베이스 테이블과 매핑 관계를 POJO 것, 그것은 아주 가벼운 JDBC 객체 패키지를했다, 객체 - 관계형 매핑 프레임 워크는 오픈 소스 인 최대 절전 모드, 자동으로 자바 프로그래머는 임의의 객체 프로그래밍 사고를 사용할 수 있도록 데이터베이스를 조작합니다. JDBC를 사용하여 어떤 경우에 사용할 수있는 최대 절전 모드, 자바 서블릿 / JSP 웹 응용 프로그램에서 사용할 수 있습니다 모두 클라이언트 프로그램에서 사용할 수있는 가장 혁명적이며, Hibernate는 J2EE 아키텍처의 응용 프로그램에서 EJB CMP를 대체 할 수 데이터 지속성의 작업을 완료합니다.
  이 글은 스프링 데이터 JPA를 사용하고, MySQL 데이터베이스를 연결하는 최대 절전 모드하는 방법에 대해 설명합니다.

준비된

  우선 우리는 MySQL의 과정에 대한 몇 가지 준비를해야합니다. 우리는 MySQL의 db_example에서 데이터베이스를 생성하고 모든 운영 권한 db_example 데이터베이스와 springuser 사용자를 생성 할 것입니다. 열기 MySQL은, 다음 명령을 입력 :

MySQL의 >  만들기  데이터베이스 db_example는, - db_example 새 데이터베이스 작성 
MySQL의 >  만들기  사용자  ' springuser ' @ ' localhost를 ' IDENTIFIED 에 의해  ' pwd123을 ' , - , 비밀번호를 새 사용자 springuser 만들기 pwd123 
MySQL의 >  그랜트  모든  ON . db_example *   ' springuser ' @하는 ' 로컬 호스트 ' ; - 데이터베이스 db_example을 운영하는 모든 springuser 사용자의 권한을 부여

봄 부팅 프로그램

. 1 단계 프로젝트 spring_mysql뿐만 아니라 프로젝트의 레이아웃을 만들 :

MKDIR spring_mysql 
CD. / spring_mysql 
build.gradle 접촉 
에서 mkdir -p SRC / 메인 / 자바 
에서 mkdir -p SRC / 메인 / 자원 
에서 mkdir -p SRC / 테스트 / 자바 
에서 mkdir -p SRC / 시험 / 자료

2 단계 쓰기 build.gradle

  다음과 같이 build.gradle 코드는 다음과 같습니다

buildscript 
    저장소 { 
        mavenCentral () 
    } 
    종속 { 
        클래스 경로 ( "org.springframework.boot : 봄 - 부팅 Gradle을-플러그인 : 2.0.0.RELEASE은" ) 
    } 
} 

: 플러그인 적용 '자바'를 
플러그인을 적용 '일식' 
플러그인을 적용 '생각' 
: 플러그인 적용 'org.springframework.boot'를 
적용 플러그인 : 'io.spring.dependency 관리' 

bootJar { 
    baseName의 =의 '의 GS-액세스하는 데이터-mysql을' 
    버전 = '0.1.0'
} 

저장소 { 
    mavenCentral () 
} 

sourceCompatibility= 1.8 
targetCompatibility = 1.8 

의존성이 { 
    컴파일 ( "org.springframework.boot : 봄 - 부팅 스타터 웹" ) 

    // JPA 데이터 (우리는 등 저장소, 엔티티, 최대 절전 모드를 사용하려고 ...) 
    '조직을 컴파일합니다. springframework.boot은 : 봄 - 부팅 - 스타터 - 데이터 JPA ' // 를 사용하여 MySQL의 커넥터-J는 
    MySQL의 컴파일': MySQL의 커넥터 - 자바 ' 
    testCompile ( 'org.springframework.boot : 봄 - 부팅 선발 테스트 ' ) 
}

    

봄 부트 프로젝트에서 주로 봄 - 부팅 스타터 웹, 스프링 부팅 스타터 데이터 JPA와 MySQL을 사용 : MySQL의 커넥터 - 자바 웹 MySQL의에서 작업을 종료합니다.

3 단계 구성 등록 정보 파일

  다음과 같이 새로운 SRC / 메인 / 자원 / 파일, 구성 관련 속성을있는 application.properties :

spring.jpa.hibernate.ddl 오토 = 만들 
spring.datasource.url = JDBC를 : mysql을 : // localhost를 : 3306 / db_example 
spring.datasource.username = springuser 
spring.datasource.password = pwd123

해당 데이터베이스 테이블에 구현 된 위의 코드에서, 새 데이터베이스 (만들기)의 주요 작업은 존재하지 않습니다. 로컬 호스트 3306 포트 db_example MySQL 데이터베이스 서버를 사용하고, 사용자 이름과 암호를 설정합니다.

4 단계는 자바 파일로 작성

  새 폴더에 SRC / 메인 / 자바 / 안녕하세요 폴더 (패키지), User.java 만들기 엔티티 클래스는 자동으로 데이터베이스의 테이블로 변환됩니다 최대 절전 모드. 다음과 같이 User.java 전체 코드는 다음과 같습니다

패키지 , 안녕하세요 

수입 javax.persistence.Entity;
수입 javax.persistence.GeneratedValue;
수입 javax.persistence.GenerationType;
수입 javax.persistence.Id; 

@Entity // 이이 클래스에서 테이블을 만들기 위해 Hibernate에게 알려준다 
공용  클래스 사용자 { 
    @Id 
    @GeneratedValue (전략 = GenerationType.AUTO)
     개인 정수 ID; 

    개인 문자열 이름; 

    개인 문자열 이메일; 

    공공 정수 getId () {
         반환 아이디; 
    } 

    공공  무효setId (정수 ID) {
          .ID = ID; 
    } 

    공공 문자열 getName () {
         반환 이름; 
    } 

    공공  무효 에서는 setName (문자열 이름) {
          .name을 = 이름; 
    } 

    공공 문자열 가령 getMail () {
         반환 이메일; 
    } 

    공공  무효 setEmail (문자열 이메일) {
          .email = 이메일; 
    } 

}

  다음과 같이 UserRepository.java 새 폴더에있는 코드입니다 :

패키지 , 안녕하세요 

수입 org.springframework.data.repository.CrudRepository; 

수입 hello.User; 

// 이 AUTO는 콩으로 스프링에 의해 구현 될 것이다 userRepository라는
 // CRUD 읽기, 업데이트, 삭제, 생성 의미 

공중  인터페이스 UserRepository이 확장 CrudRepository <사용자, 롱> { 

}

이것은 자동으로 스프링 빈에있을 것입니다 저장소 인터페이스입니다.
  MainController.java 위의 새 폴더, 다음과 같이 :

패키지 , 안녕하세요 

수입 org.springframework.beans.factory.annotation.Autowired;
수입 org.springframework.stereotype.Controller;
수입 org.springframework.web.bind.annotation.RequestMapping;
수입 org.springframework.web.bind.annotation.GetMapping;
수입 org.springframework.web.bind.annotation.RequestParam;
수입 org.springframework.web.bind.annotation.ResponseBody; 

수입 hello.User;
수입 hello.UserRepository; 

@Controller     // 이이 클래스 컨트롤러임을 의미 
@RequestMapping은 (경로 = "/ 데모") //이 / (응용 프로그램 경로 후) 데모와 URL의 시작을 의미 
공공  클래스 MainController를 { 
    @Autowired는 // 이 userRepository라는 빈 얻을 의미
                // 자동 생성 봄으로, 우리는 데이터를 처리하는 데 사용할 것이다 
    개인 UserRepository의 userRepository을; 

    (경로 @GetMapping = "추가 /") // 지도 만 요청 GET 
    공공 @ResponseBody 문자열 addNewUser (@RequestParam 문자열 이름 
            , @RequestParam 문자열 이메일) { 
        // @ResponseBody가 반환 된 문자열 응답을 의미하지 뷰 이름
         / /이 @RequestParam는 GET 또는 POST 요청으로부터 파라미터 수단 

        사용자 N = 새로운 사용자 (); 
        n.setName (이름); 
        n.setEmail (이메일); 
        userRepository.save (N); 
        반환 "저장"을 ; 
    } 

    @GetMapping (경로 = "/ 모든" )
     공공 @ResponseBody의 Iterable <사용자> getAllUsers () {
         // 이것은 사용자와 JSON 또는 XML을 반환 
        반환 userRepository.findAll를 (); 
    } 
}

이것은 새로운 컨트롤러 봄 응용 프로그램 (컨트롤러)입니다.
  위의 Application.java 새 폴더, 다음과 같이 :

패키지 , 안녕하세요 

수입 org.springframework.boot.SpringApplication;
수입 org.springframework.boot.autoconfigure.SpringBootApplication; 

@SpringBootApplication 
공용  클래스 응용 { 

    공공  정적  무효 메인 (문자열 []에 args) { 
        SpringApplication.run (. 애플리케이션 클래스 , 인수); 
    } 
}

그것은 봄 부트 프로젝트의 주 프로그램 항목이었다.

5 단계는 실행 항아리 패키지를 만들

CD spring_mysql 
Gradle을 빌드

가공 후, 생성 된 GS는-액세스하는 데이터-mysql을-0.1.0.jar를 빌드 / libs와 폴더에.

운영 및 테스트

  봄 부팅 다음 명령을 사용하여 프로젝트를 시작

자바 -jar 빌드 / libs와의 /의 GS-액세스하는 데이터-mysql을-0.1.0.jar

  브라우저 테스트에서 다음 URL을 입력 :

localhost:8080/demo/add?name=Alex&email=alex@baidu.com
localhost:8080/demo/add?name=Jclian&email=github@sina.com
localhost:8080/demo/add?name=Bob&email=bob@google.com localhost:8080/demo/add?name=Cook&email=cook@apple.com localhost:8080/demo/add?name=Mark&email=mark@west.com 

매개 변수 이름과 이메일 프로그램의 값은 데이터베이스에있는 레코드를 해결하고 사용자 테이블에 저장됩니다, 같은 브라우저 인터페이스는 다음과 같습니다 :

 
데이터 저장

브라우저 로컬 호스트의 URL을 입력 : 8080 / 데모 / 모두가, 당신은 단지 우리가 기록 (JSON 형식)에 삽입 MySQL이 우리를 볼 수 있습니다 :

 
웹 페이지 뷰 데이터

아래 그림과 같이 마지막으로, 우리는, MySQL은 데이터가 성공적으로 삽입되는 결과를 보러 갔다 :

 
MySQL은 데이터를보기

추천

출처www.cnblogs.com/chen8023miss/p/11430486.html