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

 

 

 

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
49 org.eclipse.ui.navigator Class CommonViewer 졸리운_곰 2019.07.04 398
48 MessageBox Example : Dialog « SWT JFace Eclipse « Java file 졸리운_곰 2019.06.16 362
47 Add Table Selection Listener and Get Selected TableItem : Table Event « SWT « Java Tutorial file 졸리운_곰 2019.06.16 372
46 Building and delivering a table editor with SWT/JFace file 졸리운_곰 2019.06.16 430
45 Demonstrates CellEditors : Table « SWT JFace Eclipse « Java file 졸리운_곰 2019.06.16 279
44 Demonstrates TableViewers : Table « SWT JFace Eclipse « Java file 졸리운_곰 2019.06.16 323
43 Eclipse RCP Tutorial: How to Add a Progress Bar file 졸리운_곰 2015.11.07 457
42 SWT Custom Widgets - Tutorial file 졸리운_곰 2015.08.23 379
41 Show a tool tip inside a rectangle : ToolTip « SWT « Java Tutorial file 졸리운_곰 2015.08.22 285
40 [SWT, Java] Tooltip example 졸리운_곰 2015.08.22 270
39 [SWT, Java], Button by Image, 이미지로 버튼 생성 졸리운_곰 2015.08.22 416
38 [SWT] Image Button 졸리운_곰 2015.08.22 277
37 [SWT] eventListener에서 부모 class (이벤트발생 클래스) 얻기 졸리운_곰 2015.08.16 340
36 [SWT] MessageBox Example file 졸리운_곰 2015.08.16 494
35 [SWT] How to create your own dialog classes file 졸리운_곰 2015.08.16 347
34 [SWT] Number Input Dialog file 졸리운_곰 2015.08.16 275
33 [SWT] Demonstrates a Canvas file 졸리운_곰 2015.08.12 268
32 SWT Control in One Example file 졸리운_곰 2015.08.10 403
31 SWT Tree With Multi columns file 졸리운_곰 2015.08.06 374
30 SWT Tree Composite 졸리운_곰 2015.08.06 289
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED