본문으로 바로가기

마이바티스 CRUD

이번 포스팅은 마이바티스 CRUD를 배워보겠습니다.

 

전 시간은 데이터베이스 연결 관련이였다면 이번에는 데이터베이스에 조회 삽입 삭제 등등을 알아보도록하죠.

 

이를 CRUD라고 부릅니다.

 

우선 하기 앞서서 데이터베이스 모델에 대해 알아보도록하죠.

 

자바 모델 클래스를 알아보기 전에 우선 ERD를 한번 봐보죠.

 

 

 

 

 

이는 EXERD라는 프로그램을 통해서 구현해봤습니다.

 

테이블 구조를 파악해봅시다.

 

 

user라는 테이블에는 user_id(기본키)와 user_name이 있습니다.

해당 답글과 댓글을 여러개를 가잡니다.

 

reply라는 테이블에는 reply_no(기본키)와 사용자 아이디, 댓글 번호, 답글 내용, 작성 일시가 있습니다.

답글은 작성자 하나를 가지고 댓글 하나를 가집니다.

 

comment라는 테이블에는 comment_no(기본키)와 사용자 아이디, 댓글 내용, 댓글 작성 시기가 있습니다.

댓글은 여러개 답글을 가지고 작성자 하나를 가집니다.

 

 

이를 자바 모델 클래스 형태로 바꿔주면

 

이런식으로 나오는데 테이블의 컬럼이 모델 클래스의 필드가 됩니다.

 

마이바티스를 사용하면서 유의해야할 점은 캐시 사용 여부에 따라 다른 곳에서 캐시를 사용 할 경우

 

implements Serializable을 선언해줘야한다.

 

우선 Comment의 모델 클래스를 보죠.

 

이를 자바 코드로 작성해주면

 

package ldg.mybatis.model;

import java.io.Serializable;
import java.util.Date;

@SuppressWarnings("serial")
public class Comment implements Serializable {
 private Long commentNo;
 private String userId;
 private Date regDate;
 private String commentContent;

 public Long getCommentNo() {
  return commentNo;
 }

 public void setCommentNo(Long commentNo) {
  this.commentNo = commentNo;
 }

 public String getUserId() {
  return userId;
 }

 public void setUserId(String userId) {
  this.userId = userId;
 }

 public Date getRegDate() {
  return regDate;
 }

 public void setRegDate(Date regDate) {
  this.regDate = regDate;
 }

 public String getCommentContent() {
  return commentContent;
 }

 public void setCommentContent(String commentContent) {
  this.commentContent = commentContent;
 }
}

 

흔히 많이 쓰이는 자바 모델 클래스 형태입니다.

 

그다은 Reply 답글 자바 모델 클래스를 보겠습니다.

 

package ldg.mybatis.model;

import java.io.Serializable;
import java.util.Date;

@SuppressWarnings("serial")
public class Reply implements Serializable {
 private Long replyNo;
 private Long commentNo;
 private String userId;
 private String replyContent;
 private Date regDate;

 public Long getReplyNo() {
  return replyNo;
 }

 public void setReplyNo(Long replyNo) {
  this.replyNo = replyNo;
 }

 public Long getCommentNo() {
  return commentNo;
 }

 public void setCommentNo(Long commentNo) {
  this.commentNo = commentNo;
 }

 public String getUserId() {
  return userId;
 }

 public void setUserId(String userId) {
  this.userId = userId == null ? null : userId.trim();
 }

 public String getReplyContent() {
  return replyContent;
 }

 public void setReplyContent(String replyContent) {
  this.replyContent = replyContent == null ? null : replyContent.trim();
 }

 public Date getRegDate() {
  return regDate;
 }

 public void setRegDate(Date regDate) {
  this.regDate = regDate;
 }
}

 

그 다음 user 자바 모델 클래스를 보겠습니다.

 

package ldg.mybatis.model;

import java.io.Serializable;

@SuppressWarnings("serial")
public class User implements Serializable {
 private String userId;
 private String userName;

 public String getUserId() {
  return userId;
 }

 public void setUserId(String userId) {
  this.userId = userId;
 }

 public String getUserName() {
  return userName;
 }

 public void setUserName(String userName) {
  this.userName = userName;
 }
}

 

연두색: 필드(테이블 컬럼)

보락색: getter / setter

 

우선적으로 테이블에 따른 자바 모델 클래스에 대해서 알아보았습니다.

 

다음으로 마이바티스 파라미터 표기법에대해 배워보도록 하겠습니다.

 

 

 

'데이터베이스 > 마이바티스' 카테고리의 다른 글

마이바티스 CRUD(수정)  (0) 2019.01.07
마이바티스 CRUD(삽입)  (0) 2019.01.04
마이바티스 CRUD(조회)  (0) 2019.01.03
마이바티스 시작  (0) 2018.12.30
마이바티스(Mybatis) 개요  (0) 2018.12.28