71. entity, 저장소, service
-entity
*entity 추가(Member.java, Item.java)
*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;
}
}
'Spring' 카테고리의 다른 글
Spring 일지 #73 (20211019) 시험 대비(마이바티스, Mapper) (0) | 2021.10.20 |
---|---|
Spring 일지 #72 (20211019) 시험 대비(member 등록) (0) | 2021.10.20 |
Spring 일지 #70 (20211019) 시험 대비(프로젝트 생성, 환경 설정) (0) | 2021.10.20 |
Spring 일지 #69 (20211005) sql문 이전글, 다음글 (0) | 2021.10.08 |
Spring 일지 #68 (20211005) sql문 삭제, 수정 (0) | 2021.10.08 |