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

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
18 [java 인공지능] Spring AI 로 ChatGPT API 만들기 졸리운_곰 2024.12.30 214
17 [java 인공지능] 오라클, 자바 머신러닝 라이브러리 ‘트리뷰오’ 오픈소스로 공개 졸리운_곰 2023.08.27 296
16 [java 인공지능] 자바를 위한 머신 러닝 라이브러리 졸리운_곰 2023.08.27 360
15 [Java 인공지능] 오라클, 자바 머신러닝 라이브러리 ‘트리뷰오’ 오픈소스로 공개 file 졸리운_곰 2023.08.13 358
14 [java 인공지능] [java] 라이프 게임 (life game) file 졸리운_곰 2021.10.19 337
13 How to use Weka in your Java code 졸리운_곰 2020.02.01 307
12 weka and java eclipse example : A Simple Machine Learning Example in Java file 졸리운_곰 2020.01.31 362
11 머신러닝? weka file 졸리운_곰 2020.01.31 357
10 [Weka] Weka를 이용한 Iris 데이터 머신러닝 file 졸리운_곰 2020.01.30 363
9 [강좌] WEKA 사용법 (간단한 분류, 의사결정트리 분석 설명) file 졸리운_곰 2020.01.30 343
8 [JESS] Jess , 이클립스 연동 file 졸리운_곰 2019.12.22 215
7 Jess 간단한 문법 요약 졸리운_곰 2019.12.22 277
6 Jess 6.1 다운로드 friedman-hill_src_1_jess_se file 졸리운_곰 2019.12.22 184
5 java artificial intelligence Rule Engine Jess Working Memory 졸리운_곰 2019.12.22 300
4 Defining Functions in Jess 졸리운_곰 2019.12.22 389
3 Jess Language Basics 졸리운_곰 2019.12.22 272
2 Embedding Jess in a Java Application 졸리운_곰 2019.12.22 298
1 다섯개의 탑 자바로 머신러닝 라이브러리 Top 5 machine learning libraries for Java file 졸리운_곰 2017.08.22 388
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED