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;
}
}
결과