Java Framework MyBatis 기본 - selectList

2016.06.07 21:04

졸리운_곰 조회 수:292

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

 

 

 

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
184 jsoup을 활용해서 Java에서 HTML 파싱하는 방법 정리 file 졸리운_곰 2017.03.04 157
183 Java Naming conventions 자바 명명 규칙 졸리운_곰 2017.03.04 74
182 NSA의 Dataflow 엔진 Apache NiFi 소개와 설치 file 졸리운_곰 2017.01.23 463
181 wordpress-java-integration 자바와 워드프레스 통합 졸리운_곰 2016.12.30 166
180 XQuery를 이용한 Screen-Scraping file 졸리운_곰 2016.11.29 168
179 Getting Started with Custom Deserialization in Jackson 졸리운_곰 2016.11.18 168
178 how to parse json array value using json node 졸리운_곰 2016.11.17 60
177 How to convert Java object to / from JSON (Jackson) 졸리운_곰 2016.11.16 78
176 Create New Posts in Wordpress using Java and XMLRpc 졸리운_곰 2016.11.14 69
175 자바로 POST 방식으로 통신하기, java httppost 클래스를 활용한 예제 졸리운_곰 2016.11.14 444
174 [Java]아파치 HttpClient사용하기 file 졸리운_곰 2016.11.14 104
173 Timer 클래스를 이용한 작업 스케쥴링 졸리운_곰 2016.11.14 97
172 SQLite Java Tutorial 졸리운_곰 2016.08.11 84
171 numerical analysis with java examples - turhancoban.com.pdf file 졸리운_곰 2016.06.07 263
» MyBatis 기본 - selectList file 졸리운_곰 2016.06.07 292
169 Mybatis ResultMap 그리고 select 졸리운_곰 2016.06.07 267
168 Mybatis selectList 예제 졸리운_곰 2016.06.05 448
167 java 에서 mybatis 사용한 예제 file 졸리운_곰 2016.06.05 462
166 [Mybatis] 간단한 마이바티스 CRUD 예제 file 졸리운_곰 2016.06.05 273
165 자바 8 살펴보기 file 졸리운_곰 2016.05.23 277
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED