티스토리 뷰

 

 

1. jpa repository 구현

 

 

html form에서 입력된 데이터를 h2데이터 베이스에 넣기위해선 jdbc, jpa등등이 필요하다 

jdbc를 이용해도 되지만 jdbc보다는 jpa가 간결하기에 jpa를 사용하려 했다. 

 

public class JpaMemberRepository implements  MemberRepository{

    private final EntityManager em;
    public JpaMemberRepository(EntityManager em) {
        this.em = em;
    }
    public Member save(Member member) {
        em.persist(member);
        return member;
    }

    @Override
    public Optional<Member> findById(String id) {
        List<Member> result = em.createQuery("select m from Member m where m.id = :id", Member.class)
                .setParameter("id", id)
                .getResultList();
        return result.stream().findAny();
    }

    @Override
    public Optional<Member> findByPw(String pw) {
        return Optional.empty();
        //여기는 아직 구현 안함
        
    }

    @Override
    public List<Member> findAll() {
        return em.createQuery("select m from Member m", Member.class)
                .getResultList();
    }
}//class

 

이렇게 구현하였으면서 dependencies에서도 jpa를 implemetion해주었다. 

 

2. 직접 스프링 빈 등록하기 

 

@애노테이션을 사용해서 서로 연결해주어도 되지만 스프링빈을 사용해서 직접 연결을 해주었다. 

 

@Configuration
public class SpringConfig {
    private final DataSource dataSource;
    private final EntityManager em;

    public SpringConfig(DataSource dataSource, EntityManager em) {
        this.dataSource = dataSource;
        this.em = em;
    }

    @Bean
    public MemberService memberService() {
        return new MemberService(memberRepository());
    }
    @Bean
    public MemberRepository memberRepository() {
        //return new MemoryMemberRepository();
        return new JpaMemberRepository(em);
    }

}

 

직접 서비스, 리포지토리를 연결을 해주었다. 

 

 

결과는 

ㅠㅠ

갑자기 서버가 아예 실행이 안된다 

애노테이션을 완전히 삭제하지 않았거나 등등의 문제로 예상된다. 

 

 

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세

www.inflearn.com

 

이 강의를 참고했다.

다시 한번 강의를 듣고 해봐야할거같다. 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함