Java Framework MyBatis 기본 - selectList

2016.06.07 21:04

졸리운_곰 조회 수:494

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

 

 

 

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
18 스프링(Spring) 프레임워크 기본 개념 강좌 (7) - Patterns 졸리운_곰 2017.10.02 262
17 스프링(Spring) 프레임워크 기본 개념 강좌 (6) - Dynamic Proxy 졸리운_곰 2017.10.02 257
16 스프링(Spring) 프레임워크 기본 개념 강좌 (5) - AOP Proxy file 졸리운_곰 2017.10.02 309
15 스프링(Spring) 프레임워크 기본 개념 강좌 (4) - AOP file 졸리운_곰 2017.10.02 288
14 스프링(Spring) 프레임워크 기본 개념 강좌 (3) - IoC file 졸리운_곰 2017.10.02 379
13 스프링(Spring) 프레임워크 기본 개념 강좌 (2) - 주요 구성 요소 & DI file 졸리운_곰 2017.10.02 323
12 스프링(Spring) 프레임워크 기본 개념 강좌 (1) - 스프링 이해하기 file 졸리운_곰 2017.10.02 573
11 Spring - IoC & DI file 졸리운_곰 2017.10.02 238
» MyBatis 기본 - selectList file 졸리운_곰 2016.06.07 494
9 Mybatis ResultMap 그리고 select 졸리운_곰 2016.06.07 424
8 Cliche Command-Line Shell file 졸리운_곰 2015.07.12 726
7 [스프링] 스프링 Java 어노테이션 file 졸리운_곰 2014.06.11 960
6 [스프링] 스프링 MVC 졸리운_곰 2014.06.11 533
5 [스프링] 어노테이션 졸리운_곰 2014.06.11 1033
4 [Spring] @Autowired 와 Java Spring 졸리운_곰 2014.01.29 1332
3 [Spring] 내가 Spring을 사랑하는 다섯 가지 이유 file 가을의 곰을... 2013.12.22 970
2 [Spring] VO 객체의 복사 가을의 곰을... 2013.11.26 4289
1 [Spring] Spring MVC Basics file 가을의 곰을... 2013.10.09 918
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED