2. java 에서 mybatis 사용한 예제

choi121xx 2013.04.24 14:23

 

EX> members테이블 조회, 입력, 수정 테스트

 

소스구성>

 

 

1. xml 파일 패키지 : orm.mybatis 패키지 밑에 config.xml, memberMapper.xml

2. test.main 패키지 : TestMain.java

    test.vo 패키지 : MembersVo.java

 

 

(1) config.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

    <environments default="development">

        <environment id="development">

            <transactionManager type="JDBC" />

            <dataSource type="POOLED">

                <property name="driver" value="oracle.jdbc.OracleDriver" />

                <property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />

                <property name="username" value="scott" />

                <property name="password" value="tiger" />

            </dataSource>

        </environment>

    </environments>

    <mappers>

        <mapper resource="orm/mybatis/memberMapper.xml" />

    </mappers>

</configuration>

 

(2) memberMapper.xml

: select 시 resultType 으로 vo클래스(getter,setter), map( hashmap,.. ) 이 가능하다. 

; select 절은 반드시 resultType()이 존재해야 함.

  select로 추출된 데이터를 resultType의 객체에 담고 이 객체를 다시 List에 담아 리턴한다.

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

    <insert id="add" parameterType="test.vo.MembersVo">

        insert into members values(#{id},#{pwd},#{email},#{phone},sysdate)

    </insert>

    <delete id="remove" parameterType="java.lang.String">

        delete from members where id=#{id}

    </delete>

    <update id="modify" parameterType="test.vo.MembersVo">

        update members set pwd=#{pwd},email=#{email},phone=#{phone} where id=#{id}

    </update>


    <select id="getlist" resultType="test.vo.MembersVo">

        select * from members

    </select>

    <select id="find" parameterType="String" resultType="test.vo.MembersVo">

        select * from members where id=#{id}

    </select>

    <select id="getInfo" parameterType="String" resultType="hashmap">

        select * from members

         where id=#{id}    

    </select>

</mapper>

 

 

(3) TestMain.java

; insert, delet하기

package test.main;

 

import java.io.IOException;

import java.io.InputStream;

 

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.vo.MembersVo;

 

public class TestMain {

    public static void main(String[] args) {

 

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

 

        try{

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

            InputStream is = Resources.getResourceAsStream(res);

 

            //SqlSessionFactory 객체 얻어오기

            SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);

 

            //sql문장을 호출하는 sqlSession객체 얻어오기

            SqlSession session = factory.openSession();

            MembersVo vo = new MembersVo("batis2","1111","batis@co.kr","010", null);

 

            //insert("호출할 sql구문 id", 파라미터객체 );

            int n=session.insert("add", vo); //xml의 insert태그 id, 파라미터

 

            if(n>0){

                //커밋하기

                session.commit();

                System.out.println("추가 성공");

            }else{

                session.rollback();

                System.out.println("추가 실패");

            }

            

            n = session.delete("remove", "batis");

            System.out.println("delete 처리건수:" + n);

            

            session.commit();

            

            //세션닫기

            session.close();

            

        }catch(IOException ie){

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

        }

    }

}

 

 

 

(4) select 예제 :  ( vo 클래스 , hashmap 사용 )

 

package test.main;

 

import java.io.IOException;

import java.io.InputStream;

import java.sql.Timestamp;

import java.util.HashMap;

import java.util.List;

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

 

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.vo.MembersVo;

 

public class TestMain1 {

    public static void main(String[] args) {

 

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

 

        try{

            InputStream is = Resources.getResourceAsStream(res);

            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);

            SqlSession session = factory.openSession();

            List<MembersVo> list = session.selectList("getlist");

            

            for(MembersVo vo:list){

                System.out.println("id:" + vo.getId() );

                System.out.println("pwd:" + vo.getPwd() );

                System.out.println("email:" + vo.getEmail() );

                System.out.println("phone:" + vo.getPhone() );

                System.out.println("regdate:" + vo.getregdate() );

                System.out.println();

            }

            

            String findId="batis1";

 

            MembersVo vo1 = session.selectOne("find", findId);

            if(vo1 == null){

                System.out.println("검색된 회원이 없어요!");

            }else{

                System.out.println("id:" + vo1.getId() );

                System.out.println("pwd:" + vo1.getPwd() );

                System.out.println("email:" + vo1.getEmail() );

                System.out.println("phone:" + vo1.getPhone() );

                System.out.println("regdate:" + vo1.getregdate() );

                System.out.println();

            }

            

            HashMap<String, Object> map = session.selectOne("orm.mybatis.memberMapper.getInfo", "batis1");

            // key : 칼럼명, value : 내용.

            String id = (String)map.get("ID");

            String pwd= (String)map.get("PWD");

            String email= (String)map.get("EMAIL");

            String phone= (String)map.get("PHONE");

            Timestamp regdate= (Timestamp)map.get("REGDATE");

 

            System.out.println("[[  정보 검색 (map 사용)  ]]");

            System.out.println("id:" +id );

            System.out.println("pwd:" +pwd );

            System.out.println("email:" +email );

            System.out.println("phone:" +phone );

            System.out.println("regdate:" +regdate );

            

            session.close();

            

        }catch(IOException ie){

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

        }

    }

}

 

 

 

 

 

(5) MembersVo.java 

package test.vo;

 

import java.sql.Date;

 

public class MembersVo {

    private String id;

    private String pwd;

    private String email;

    private String phone;

    private Date regdate;

    

    public MembersVo(){}

 

    public MembersVo(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;

    }

}

 
 


[출처] http://installed.tistory.com/entry/2-java-%EC%97%90%EC%84%9C-mybatis-%EC%82%AC%EC%9A%A9%ED%95%9C-%EC%98%88%EC%A0%9C

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
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
170 MyBatis 기본 - selectList file 졸리운_곰 2016.06.07 292
169 Mybatis ResultMap 그리고 select 졸리운_곰 2016.06.07 267
168 Mybatis selectList 예제 졸리운_곰 2016.06.05 448
» 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