Java Framework MyBatis 기본 - selectList

2016.06.07 21:04

졸리운_곰 조회 수:493

MyBatis 기본 - selectList

JAVA/myBatis & iBatis 2013.10.26 14:58

package test.main;

 

import java.io.IOException;

import java.io.InputStream;

import java.util.List;

 

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

 

import test.dto.MembersDTO;

 

public class SelectListMain {

    public static void main(String[] args) {

        //    마이바티스 환경설정 파일 경로

        String res = "orm/mybatis/mybatis-config.xml";

        try {

            //    mybatis 환경설정 파일을 읽어오기 위한 스트림 객체

            InputStream is = Resources.getResourceAsStream(res);

            //    SqlSessionFactory객체 얻어오기

            SqlSessionFactory factory = 

                    new SqlSessionFactoryBuilder().build(is);

            //    Sql명령어를 실행하기 위한 SqlSession 객체 얻어오기

            SqlSession session = factory.openSession();

            List<MembersDTO> list = session.selectList("orm.mybatis.MemberMapper.listAll");

            

            for( MembersDTO dto : list ) {

                System.out.println("=================MEMBER DTO===============");

                System.out.println("아이디 : "+ dto.getId());

                System.out.println("비밀번호 : "+dto.getPwd());

                System.out.println("이메일 : "+ dto.getEmail());

                System.out.println("전화번호 : "+dto.getPhone());

                System.out.println("가입일 : "+ dto.getRegdate());

                System.out.println("=========================================");

            }

            

            session.close();    //    세션닫기    

        } catch (IOException e) {

            System.out.println(e.getMessage());

        }

        

    }

}

 

 

2. Mapper.xml 

<?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">

<mapper namespace="orm.mybatis.MemberMapper">

 

<!-- select 추출된 컬럼값들을 저장할 resultType을 지정함 -->

    <select id="listAll" resultType="test.dto.MembersDTO">

        select * from members

    </select>

    

</mapper>

 

3. DTO 클래스

package test.dto;

 

import java.sql.Date;

 

public class MembersDTO {

 

    private String id;

    private String pwd;

    private String email;

    private String phone;

    private Date regdate;

    

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

    public MembersDTO() {

        

    }

 

    public MembersDTO(String id, String pwd, String email, String phone,

            Date regdate) {

        super();

        this.id = id;

        this.pwd = pwd;

        this.email = email;

        this.phone = phone;

        this.regdate = regdate;

    }

    

    public String getId() {

        return id;

    }

 

    public void setId(String id) {

        this.id = id;

    }

 

    public String getPwd() {

        return pwd;

    }

 

    public void setPwd(String pwd) {

        this.pwd = pwd;

    }

 

    public String getEmail() {

        return email;

    }

 

    public void setEmail(String email) {

        this.email = email;

    }

 

    public String getPhone() {

        return phone;

    }

 

    public void setPhone(String phone) {

        this.phone = phone;

    }

 

    public Date getRegdate() {

        return regdate;

    }

 

    public void setRegdate(Date regdate) {

        this.regdate = regdate;

    }

}

 

 

MyBatis 를 이용하여 여러건을 가져올때 ( 예) SELECT * FROM USERS ) 레코드의 건수들을 자바의 List 로 반환 받는 방법 이다 . 

순차적으로 session 객체를 통한 쿼리실행 -> Mapper.xml 에서 내부적으로 DTO 클래스에 set 을 해주고 -> set 해준 DTO 객체를 

내부적으로 List 에 add 시킨뒤 반환 하는걸로보인다. 

 

 

 

[결과]

mybatisSelectListResult.PNG

 

[출처] http://devsh.tistory.com/entry/MyBatis-%EA%B8%B0%EB%B3%B8-selectList

 

 

 

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
35 [EMF] EMF Tutorial EMF 튜터리얼 file 졸리운_곰 2023.08.23 283
34 Eclipse RAP Tutorial for Beginners - Workbench Application (OLD) file 졸리운_곰 2021.01.30 323
33 Learn Eclipse GMF in 15 minutes file 졸리운_곰 2019.11.27 253
32 [Eclipse] GEF entry series (10, an implementation of the form) file 졸리운_곰 2019.11.25 212
31 GEF Programmer Guide 번역 졸리운_곰 2019.11.25 227
30 Learn Eclipse GMF in 15 minutes file 졸리운_곰 2019.11.20 224
29 RCP 에디터 정리 졸리운_곰 2019.11.20 333
28 다른 그림과 관련하여 GEF 편집기 레이아웃에서 그림의 위치 제한 조건을 동적으로 계산 Dynamically calculating the position constraints for a figure in a GEF editor layout in relation to another figure file 졸리운_곰 2019.11.20 277
27 RCP 등에서 .mf 파일로 다른 프로젝트 익스포트 포함시 라이브러리(메소드)를 찾지 못할 때, Eclipse RCP - cant resolve importing libraries in final build file 졸리운_곰 2019.10.15 410
26 ESE2006-EclipseModelingSymposium15_GMF.pdf file 졸리운_곰 2019.09.21 302
25 GMF_Creation_Review.pdf file 졸리운_곰 2019.09.21 366
24 Eclipse EMF and GMF Tutorial file 졸리운_곰 2019.09.21 222
23 GMF Tutorial/ko file 졸리운_곰 2019.09.20 347
22 Model Driven Architecture approach to domain of graphical editors file 졸리운_곰 2019.09.20 268
21 Single_Sourcing_RAP_RCP_en.pdf file 졸리운_곰 2019.05.15 311
20 Rich client platform 설명 및 배우기 참고 졸리운_곰 2019.05.15 309
19 Rich Ajax Platform, Part 1: 소개 file 졸리운_곰 2019.05.15 320
18 또 하나의 크로스 플랫폼: Eclipse RAP file 졸리운_곰 2019.05.15 319
17 Eclipse 4 RCP 튜토리얼(완료) file 졸리운_곰 2019.05.14 977
16 Updating UI in Eclipse RCP 졸리운_곰 2015.11.07 408
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED