Page History
...
실제 DataBase에서는 위와같은 테이블이, 어플리케이션 시작시 자동 생성됩니다.
CRUD 저장소생성
전통적인 DataBase를 통한 개발방법은, SQL을 직접이용하거나, 주로 SP를 이용하여 Table의 정보를 읽거나 변경을 하였습니다.
JPA에서는 CrudRepository를 이용하여 조금더 객체 지향접근방식을 통해 Database를 제어할수가 있습니다.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
package com.psmon.springdb; import org.springframework.data.repository.CrudRepository; //This will be AUTO IMPLEMENTED by Spring into a Bean called userRepository //CRUD refers Create, Read, Update, Delete public interface UserRepository extends CrudRepository<User, Long> { } |
CRUD를 이용하여 데이터 제어하기
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
package com.psmon.springdb;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class JparestdemoApplicationTests {
@Autowired
private UserRepository userRepository;
@Test
public void contextLoads() {
jpaTest1();
}
public void jpaTest1() {
// 사용자 생성
User addUser = new User();
addUser.setName("minsu");
addUser.setEmail("test@x.com");
userRepository.save(addUser);
// 사용자 조회
Iterable<User> userList = userRepository.findAll();
userList.forEach(item->System.out.println(item.getName() ));
}
}
|
위 코드를 SQL문으로 변환하면 다음과 같습니다.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
-- 사용자생성
INSERT INTO `spring`.`user`
(`id`,
`email`,
`name`)
VALUES
(<{id:}>,
<{email: >,
<{name:}>);
-- 사용자 조회
SELECT * FROM user |