봄 부팅 JPA 액세스 MySQL의

봄 부트 액세스 MySQL은
두 번째 방법 : 스프링 데이터 JPA

왜 JPA를 사용 :
스프링 JPA를 사용하여 처음으로, 나는 거의 기본 기능이 나온 어떤 코드 데이터베이스 액세스 CURD에 대해 쓸 필요가 없습니다,이 일이 단순히 유물이다 느꼈다.

사용 방법 :
POM 파일에 의존의 도입을

<!--jpa -->
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-commons</artifactId>
        <version>2.1.6.RELEASE</version>
</dependency>

<!-- mysql驱动 -->
<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
</dependency>

구성 데이터베이스 :

spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# JPA 相关配置
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update

JPA 구성

SrpingBoot 버전 2.0에서 #은, Hibernate는 데이터 테이블을 만들고, 기본 데이터베이스 스토리지 엔진 선택은 (전 이노이다)의 MyISAM이다. 이 파라미터 테이블의 구성에 시간을 기본 스토리지 엔진 이노 사용하는 스위치.

spring.jpa.database 플랫폼 = org.hibernate.dialect.MySQL5InnoDBDialect

로그 정보에서 실행 밖으로 인쇄 SQL 문을 구성.

spring.jpa.show-SQL = TRUE

당신이 프로그램을 실행시킬 때마다, 새로운 테이블을 형성하지 않습니다, 테이블의 데이터가 비어 있지, 그것은 단지 업데이트됩니다

= 갱신 spring.jpa.hibernate.ddl - 자동차

엔티티 다오 서비스 컨트롤러 세 개의 파일을 생성 :

 entity:
@Entity
@Table(name = "user")
public class JpaUser {

@Id
@GeneratedValue
private Long id;

private String name;

private int age;

private String sex;

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

public String getSex() {
    return sex;
}

public void setSex(String sex) {
    this.sex = sex;
}

}

다오는
JpaRepository를 직접 사용할 수있는 간단한 CRUD 인터페이스 상속을 쓰기

@Repository
public interface JpaUserDao extends JpaRepository<JpaUser,Long> {

}

Service

@Service
public class JpaUserService {

@Autowired
JpaUserDao userDao;

public JpaUser add(JpaUser user){
  return   userDao.save(user);
}

public JpaUser update(JpaUser user){
    return   userDao.save(user);
}

public JpaUser getById(long id){
    return   userDao.findById(id).get();
}

}

제어 장치

@RestController
@RequestMapping("/jpaUser")
public class JpaUserController {

@Autowired
JpaUserService userService;

@RequestMapping(value = "/add",method = RequestMethod.POST)
public Object addUser(@RequestBody JpaUser user){

    return userService.add(user);
}

@RequestMapping(value = "/update",method = RequestMethod.PUT)
public Object updateUser(@RequestBody JpaUser user){

    return userService.update(user);
}

@RequestMapping(value = "/find",method = RequestMethod.GET)
public Object updateUser(long id){
    return userService.getById(id);
}

}

액세스는 부팅 테스트를 완료

JPA 구성 지침 :

spring.jpa.hibernate.ddl 오토 = 생성 ---- 프로그램을 실행할 때마다, 새로운 테이블을 형성하지 않습니다, 테이블 드롭 테이블은 테이블을 재 작성해야합니다

spring.jpa.hibernate.ddl 오토 = 드롭을 만들 ---- 각 프로그램의 끝은 테이블을 취소합니다

spring.jpa.hibernate.ddl 오토 = 갱신 ---- 프로그램을 실행할 때마다, 새로운 테이블을 형성하지 않습니다, 테이블의 데이터가 비어 있지, 그것은 단지 테이블 구조를 업데이트합니다

spring.jpa.hibernate.ddl 오토 = 검증 ---- 데이터 필드 유형을 확인하고 데이터베이스 프로그램 실행은 다른를 부여하고, 동일

추천

출처blog.51cto.com/5013162/2403086