본문 바로가기

Programing/IBatis

iBatis - iBatis초보2

사용자 삽입 이미지


Emp.xml


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

<!DOCTYPE sqlMap PUBLIC '-//ibatis.apache.org//DTD SQL Map2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-2.dtd'>
<sqlMap>
    <typeAlias alias="emp" type="ex1.vo.Emp"/>
   
    <resultMap id = "empRes" class="emp">
        <result property="empno" column="EMPNO"/>
        <result property="deptno" column="DEPTNO"/>
        <result property="ename" column="ENAME"/>
        <result property="job" column="JOB"/>
    </resultMap>
    <select id="dept" resultClass="emp" parameterClass="int">
            select * from emp where deptno=#no#
    </select>
    <select id="ename" resultMap="empRes" parameterClass="String">
            select * from emp where ename=#no#
    </select>
</sqlMap>



EmpTest.java

 

package ex1;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import ex1.vo.Emp;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;

public class EmpTest {
    private static Reader reader;
    private static SqlMapClient sqlMapper;
   
    static{ //처음에 한번 수정
        try {
            // config 파일과 연결된 스트림 생성
            reader = Resources.getResourceAsReader("ex1/sqlMapConfig.xml");
            // config 파일에서 인식하고 있는 sqlMap객체를 읽어들인다.
            sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
            reader.close();
        } catch (Exception e) {
        }
    }
    public static List<Emp> selectDept(int deptno)throws SQLException{
        return sqlMapper.queryForList("dept" , deptno);
    }
   
    public static List<Emp> selectEname(String n)throws SQLException{
        return sqlMapper.queryForList("ename" , n);
    }
   
    public static void main(String[] args)throws Exception{
        List<Emp> list =  selectDept(30); //List<?> , List<Emp>와 같다. ?는 Object로 인식함
        for(Emp n : list)
            System.out.println(n.getEmpno() + "," +n.getEname() + "," + n.getJob() + "," + n.getDeptno());
        System.out.println("*----------이름검색---------*");
        List<Emp> names = selectEname("KING");
        for(Emp n : names)
            System.out.println(n.getEmpno() + "," +n.getEname() + "," + n.getJob() + "," + n.getDeptno());
    }
}


sqlMapConfig.xml


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

<!DOCTYPE sqlMapConfig PUBLIC '-//ibatis.apache.org//DTD SQL Map Config 2.0//EN' 'http://ibatis.apache.org/dtd/sql-map-config-2.dtd'>
<sqlMapConfig>
    <transactionManager type="JDBC" commitRequired="false" >
        <dataSource type="SIMPLE">
            <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/>
            <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@localhost:1521:ORCL1"/>
            <property name="JDBC.Username" value="scott"/>
            <property name="JDBC.Password" value="tiger"/>
        </dataSource>
    </transactionManager>
    <sqlMap resource="ex1/Emp.xml"/>       
</sqlMapConfig>


Emp.java


package ex2_ibatis.vo;

public class Emp {
    int empno, sal, deptno;
    String ename, job, hiredate;

    public int getDeptno() {
        return deptno;
    }

    public void setDeptno(int deptno) {
        this.deptno = deptno;
    }

    public int getEmpno() {
        return empno;
    }

    public void setEmpno(int empno) {
        this.empno = empno;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public String getHiredate() {
        return hiredate;
    }

    public void setHiredate(String hiredate) {
        this.hiredate = hiredate;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public int getSal() {
        return sal;
    }

    public void setSal(int sal) {
        this.sal = sal;
    }
}


결과

사용자 삽입 이미지


 

'Programing > IBatis' 카테고리의 다른 글

스프링관련 링크~  (0) 2009.12.18
펌글]iBatis vs. Hibernate중 어떤게 더 좋아요?  (0) 2008.10.25
iBatis - iBatis  (0) 2008.07.29
iBatis - iBatis 초보~  (0) 2008.07.29