spring boot에서 mysql을 이용해서 spring data jpa를 사용해보자아아
dependencies
application.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:(포트번호)/(DB이름)?serverTimezone=Asia/Seoul
username: (사용자이름)
password: (사용자비밀번호)
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
format_sql: true
logging.level:
org.hibernate.SQL: debug
mysql의 url이라던가 username, password에 대한 정보는 mysql workbench의 manage server connection에서 확인할수있다아아
hibernate옵션으로 ddl-auto: 를하여 spring 뜰때, 해당 엔티티와 매핑되는 테이블 drop하고 다시 create합니당!
spring 띄우기!
package mysql1.test;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
@Entity
@Getter @Setter
@Table(name = "MEM")
public class Member {
@Id @GeneratedValue
@Column(name = "MEMBER_ID")
private Long id;
private String name;
}
요 엔티티는 MEM이라는 테이블과 매핑됩니다! 그러면 ddl-auto로 create옵션을 걸어놨으니 스프링 뜰때, 해당 테이블이 존재하겠져?
잘존재하네요!
test로 테이블에 데이터 삽입하기!
@SpringBootTest
@Transactional
@Rollback(value = false)
class MemberRepositoryTest {
@Autowired
MemberRepository memberRepository;
@Test
void 회원등록(){
Member member = new Member();
member.setName("회원1");
memberRepository.save(member);
Member resultMember = memberRepository.findOne(member.getId());
Assertions.assertThat(resultMember).isEqualTo(member);
}
}
테스트를 돌려보면(롤백 false로해서 테스트 코드여도 트랜잭션이 커밋됩니당!)
데이터가 잘 삽입되었네요!!!
끄읏
'개발' 카테고리의 다른 글
맵드 타입(Mapped Type) (0) | 2022.06.13 |
---|---|
eslint, prettier 그리고 github action (0) | 2021.11.14 |
ec2에 mysql server를 이용해서 spring boot서버를 배포해보자. (1) | 2021.09.16 |
thymeleaf에서 th:field와 th:selected 중복사용 (0) | 2021.08.03 |
spring security를 살짝 적용해보자! (0) | 2021.07.30 |