본문 바로가기

전체

(219)
[Mybatis] discriminator 엘리먼트 [MYHEWON 테이블] 생성 create table myhewon(hewon_id varchar2(50) primary key, hewon_name varchar2(50) , hewon_phone varchar2(20), hewon_email varchar2(100), hewon_status number(1)); MYHEWON 테이블 : 회원정보를 저장하기 위한 테이블 [MyHewon] DTO 클래스 선언 공개범위에 어떤 값이 저장되어있느냐에 따라 사용자에게 공개되는 정보가 달라지게 만들어 볼것이다. package xyz.itwill.dto; /* 이름 널? 유형 ------------ -------- ------------- HEWON_ID NOT NULL VARCHAR2(50) - 아이디 HEWON..
[MyBatis] 조인예제(3) / collection 엘리먼트, autoMapping 속성 [MYREPLY 테이블] [MYUSER 테이블] [MYCOMMENT] 테이블 이번에는 MYCOMMENT 테이블과 MYREPLY 테이블을 조인할 것이다 게시글번호를 전달받아 MYCOMMENT 테이블에 저장된 게시글정보(1개)와 MYREPLY 테이블에 저장된 댓글정보(0개 이상)를 검색하여 MyCommentReply 객체로 제공하는 엘리먼트를 등록할 것이다. 1:N 관계의 테이블 조인에서는 OUTER JOIN을 사용하여 검색해야 한다. 해당 예제에서는 LEFT OUTER JOIN을 사용해야한다. 그래야만 댓글이 없어도 게시물이 출력되기 때문이다 List 객체를 생성하기 위해서는 collection 엘리먼트를 사용해야 한다. Collection collection은 1:N 관계의 테이블 조인에서 0개의 검색행..
[MyBatis] 조인예제(2) / association 엘리먼트의 속성 MYREPLY 테이블과 MYUSER 테이블을 조인해보자 [MYREPLY 테이블] [MYUSER 테이블] DTO 클래스 MYREPLY 테이블과 MYUSER 테이블의 컬럼값을 저장하기 위한 클래스 → 1:1 관계의 테이블 조인에 대한 검색결과 저장 [MyReplyUser] package xyz.itwill.dto; public class MyReplyUser { //MYREPLY 테이블(댓글정보)의 검색행을 객체로 제공받아 저장하기 위한 필드 - 검색행 1개 private MyReply reply; //MYUSER 테이블(회원정보)의 검색행을 객체로 제공받아 저장하기 위한 필드 - 검색행 1개 private MyUser user; public MyReplyUser() { // TODO Auto-generat..
[MyBatis] 비교연산자가 엘리먼트로 인식되는 에러 해결 테이블, 시퀀스를 새로 생성해준다 MYREPLY 테이블 : 게시글에 대한 댓글을 저장하기 위한 테이블 MYREPLY_SEQ : MYREPLY 테이블의 REPLY_NO 컬럼값으로 저장될 자동 증가값을 제공하는 시퀀스 create table myreply(reply_no number primary key, reply_id varchar2(50) , reply_content varchar2(100), reply_date date, reply_comment_no number); create sequence myreply_seq; 이름 널? 유형 ---------------- -------- ------------- REPLY_NO NOT NULL NUMBER - 댓글 번호 REPLY_ID VARCHAR2(50)..
[MyBatis] 조인예제(1) / association 엘리먼트 앞서 만든 테이블들을 조인해볼 것이다. MYCOMMENT와 MYUSER 테이블을 조인시켜 사용자의 이름값을 가져와보자. [MYCOMMENT 테이블] [MYUSER 테이블] 이를 위해서는 이름을 저장하기 위한 필드가 필요하다. MYCOMMENT 테이블과 MYUSER 테이블의 컬럼값을 저장하기 위한 DTO 클래스 [MyComment3] 을 작성해보자 [MyComment3] 클래스는 1 : 1 관계의 테이블 조인에 대한 검색결과를 저장하기 위한 클래스이다 package xyz.itwill.dto; //MYCOMMENT 테이블과 MYUSER 테이블의 검색결과를 저장하기 위한 클래스 public class MyComment3 { //MYCOMMENT 테이블의 컬럼값을 저장하기 위한 필드 private int no..
이클립스 프로젝트 불러오기, import https://emflant.tistory.com/88
[MyBatis] 자동매핑&수동매핑 예제 / selectKey,counstructor 엘리먼트 테이블 및 시퀀스 생성 MYCOMMENT 테이블 : 게시글을 저장하기 위한 테이블 MYCOMMENT_SEQ : MYCOMMENT 테이블의 COMMENT_NO 컬럼값으로 저장될 자동 증가값 /*테이블 생성*/ create table mycomment(comment_no number primary key, comment_id varchar2(50) , comment_content varchar2(100), comment_date date); /*시퀀스 생성*/ create sequence mycomment_seq; DTO 생성 [MyComment1] 클래스 선언 - 테이블의 컬러명과 같은 이름으로 클래스의 필드명을 작성 (자동 매핑) → 스네이크 표기법으로 작성된 컬럼명은 카멜 표기법의 필드명으로 작성해준다..
[MyBatis] 자동매핑&수동매핑 / resultMap 회원 정보를 저장하기 위한 [MYUSER] 테이블을 생성해주자 create table myuser(user_id varchar2(50) primary key, user_name varchar2(50)); SQL 명령은 대소문자를 구분하지 않기 때문에 식별자를 선언할 때 스네이크 표기법을 사용한다. - 스네이크 표기법(SnakeCase) : 단어와 단어를 구분하기 위해 _ 기호를 사용하여 식별자를 선언하는 방법 DTO 클래스 [MyUser.java] 를 선언해보자. Java 자료형(Class, Interface, Enum)을 선언할 경우에는 파스칼 표기법을 사용한다. - 파스칼 표기법(PascalCase) : 모든 단어의 첫문자를 대문자로 표현하여 식별자를 선언하는 방법 Java 자료형을 제외한 식별자는 ..