Spring

Spring 일지 #71 (20211019) 시험 대비(entity, 저장소, service)

uni5948 2021. 10. 20. 23:07

71. entity, 저장소, service

-entity

 *entity 추가(Member.java, Item.java)

entity 추가

 *Member.java

package com.example.entity;

더보기

 

import java.util.Date;

 

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.Table;

 

import org.hibernate.annotations.CreationTimestamp;

 

import lombok.Getter;

import lombok.NoArgsConstructor;

import lombok.Setter;

import lombok.ToString;

 

@Entity

@Getter

@Setter

@NoArgsConstructor

@ToString

@Table(name="MEMBER8")

public class Member {

   

    @Id

    @Column(name = "ID")

    private String id;

 

    @Column(name = "PW")

    private String pw;

 

    @Column(name = "REGDATE", updatable = false)

    @CreationTimestamp

    private Date regdate;

 

    @Column(name = "ROLE", updatable = false)

    private String role = "SELLER";

}

 

 *Item.java

package com.example.entity;

더보기

 

import java.util.Date;

 

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

import javax.persistence.JoinColumn;

import javax.persistence.Lob;

import javax.persistence.ManyToOne;

import javax.persistence.SequenceGenerator;

import javax.persistence.Table;

 

import org.hibernate.annotations.CreationTimestamp;

 

import lombok.Getter;

import lombok.NoArgsConstructor;

import lombok.Setter;

 

@Entity

@Getter

@Setter

@NoArgsConstructor

@Table(name = "ITEM8")

@SequenceGenerator(

    name = "SEQ_ITEM8_NO",

    sequenceName = "SEQ_ITEM8_NO",

    allocationSize = 1, initialValue = 1)

public class Item {

 

    @Id

    @Column(name = "NO")

    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_ITEM8_NO")

    private long no;

 

   

    @Column(name = "NAME")

    private String name;

 

    @Lob

    @Column(name = "CONTENT")

    private String content;

 

    @Column(name = "PRICE")

    private Long price;

 

    @Column(name = "QUANTITY")

    private Long quantity;

 

    @CreationTimestamp

    @Column(name = "REGDATE")

    private Date regdate;

 

    @ManyToOne

    @JoinColumn(name = "SELLER_ID")

    private Member member;

}

 

-저장소, service

* 저장소 추가(MemberRepository.java)

package com.example.repository;

 

import com.example.entity.Member;

 

import org.springframework.data.jpa.repository.JpaRepository;

import org.springframework.data.jpa.repository.Modifying;

import org.springframework.data.jpa.repository.Query;

import org.springframework.data.repository.query.Param;

import org.springframework.stereotype.Repository;

import org.springframework.transaction.annotation.Transactional;

 

@Repository

public interface MemberRepository extends JpaRepository<Member, String>{

   

    @Transactional

    @Modifying

    @Query(value = "INSERT INTO MEMBER8 VALUES(:#{#obj.id}, "

    + ":#{#obj.pw}, CURRENT_TIMESTAMP, :#{#obj.role})", nativeQuery = true)

    public int queryInsertMember(@Param("obj")Member member);

}

 

 *서비스 생성(MemberService.java)

서비스 생성

package com.example.service;

 

import com.example.entity.Member;

 

import org.springframework.stereotype.Service;

 

@Service

public interface MemberService {

    //회원가입

    public int insertMember(Member member);

 

    //회원수정

    public int updateMember(Member member);

 

    //회원탈퇴

    public int deleteMember(String id);

 

    //회원조회

    public Member selectMemberOne(String id);

}

 

 *Ipml 생성(MemberServiceImpl.java)

package com.example.service;

 

import com.example.entity.Member;

import com.example.repository.MemberRepository;

 

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

 

@Service

public class MemberServiceIpml implements MemberService{

 

    @Autowired

    MemberRepository mRepository;

 

    @Override

    public int insertMember(Member member) {

        return mRepository.queryInsertMember(member);

    }

 

    @Override

    public int updateMember(Member member) {

        return 0;

    }

 

    @Override

    public int deleteMember(String id) {

        return 0;

    }

 

    @Override

    public Member selectMemberOne(String id) {

        return null;

    }

}