studyplan

mybatis xml 작성법 마이바티스 / oracle 버전 / select , delete , insert , resultMap , resultType 본문

스프링

mybatis xml 작성법 마이바티스 / oracle 버전 / select , delete , insert , resultMap , resultType

무한머니 2022. 7. 27. 11:16

1 . 기본적인 세팅 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 

2. mapper 로 감싸주기 

 namespace="com.project.donate_prj.repository.QnaMapper

 이때 맵퍼의 경로는 

 

실제로 존재하는 경로로 적어야 한다 

com.project.donate_prj.repository.QnaMapper

 

3. 맵퍼 안 꾸미기 - . resultMap 만들기 

 

여기서 중요한점! 

 

type  = 매퍼에 들어갈 필드값들이 모여있는클래스의 위치를 적어둔다 

 

resultMap 은 내가 쓰는 java 필드와 , 데이터베이스 저장소 안에 언어를 매칭 시켜주는것이다 

마이바티스에서 , 자바 필드명과 , 데이터베이스 저장소 안에 컬럼의 이름이 같으면 안써줘도 상관없다 

나같은 경우엔 .. 다 달라서 그냥 다 적었다..

 

4. 활용할 sql 을 적는다 

 

 

1 . findAll2  = 찾기 전체 탐색 

sql 구문 select 는 태그를 <select>

 

<select id=""></select>

이걸로 감싸줘야 하며

id 부분엔 내가 사용하는 mapper 안에  이름이 findAll2 라는메서드와 이름을 매칭시켜준다    

그리고 select 구문 같은경우 resultMap 을 꼭 써줘야 한다  // 필 수 !! 

2. findAll 

select = select , resultMap  중요 ROWNUM 은 나중에 설명 ! 

2. findAll

select = select , resultMap  중요 

where qna_no = #{qnaNo}

where qna_no(데이터베이스 컬럼 이름 ) = #{qnaNo}(자바 필드 이름 )

자바 필드 이름은 항상 #{} 로 감싸줘야 인식함을 알도록 ! 

3. modify 이걸 하려면 꼭 2가지의 자바 필드명이 들어간다 

그렇기 때문에 사전작업이 필요한데 

 

@Parm("qnaNo") 이걸 써줌으로써 

해결이 된다 

이때 @Parm() 안의  값은 자바 필드명과 같아야 한다  

4. delete  삭제 

delete 는 꼭 

<delete id=""></delete>

로 감싸줘야 한다 

5. total 구하기 // 숫자로 나옴 

select 인데 resultMap 아니라 resultType 를 써야 한다  

어떤 타입으로 나올지 모르기 때문에 

만약 

count 가 아니라 userId 나

, content 를 select 한다면 resultType 은 string 이 됐을것이다 

 

6. save = 

save = 

values  앞에 내가 넣을 값을 () 안에 sql 컬럼명 을 써서 넣어줘야 한다 

qnum  은 sequence 값으로  나중에 알아보자 

Comments