/src/main/resources/sqlmap/Emp.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="emp">
<typeAlias alias="emp" type="com.oracleclub.study.mvc.model.Emp"/>
<select id="selectEmpList" resultClass="emp" >
SELECT empno, ename, job, sal, NVL(mgr,0) mgr
FROM emp
</select>
<select id="selectEmp" resultClass="emp" parameterClass="int" >
SELECT empno, ename, job, sal, NVL(mgr,0) mgr, deptno
FROM emp
WHERE empno = #empno#
</select>
<insert id="insertEmp" parameterClass="emp" >
INSERT INTO emp (empno, ename, job, sal, mgr, hiredate, deptno)
VALUES (#empno#, #ename#, #job#, #sal#, 0, #hiredate#, #deptno#)
</insert>
</sqlMap>
com.spring.mvc.dao.EmpDAO.java
package com.oracleclub.study.mvc.dao;
import java.util.List;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;
import com.oracleclub.study.mvc.model.Emp;
/**
* 사원정보를 관리하는 DAO
*
* @author : oramaster
*
*/
@Repository
public class EmpDAO extends SqlMapClientDaoSupport {
private static final String NAMESPACE = "emp.";
/**
* 사원정보 등록
* @param emp
*/
public void insertEmp(Emp emp) {
getSqlMapClientTemplate().insert(NAMESPACE + "insertEmp", emp);
}
/**
* 사원목록 정보 조회
* @return
*/
@SuppressWarnings("unchecked")
public List<Emp> selectEmpList() {
return (List<Emp>)getSqlMapClientTemplate().queryForList(NAMESPACE + "selectEmpList");
}
/**
* 사원 정보 조회
* @param empno
* @return
*/
public Emp selectEmp(int empno) {
return (Emp)getSqlMapClientTemplate().queryForObject(NAMESPACE + "selectEmp", empno);
}
}
com.oracleclub.study.mvc.bo.EmpBO.java
package com.oracleclub.study.mvc.bo;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.oracleclub.study.mvc.dao.EmpDAO;
import com.oracleclub.study.mvc.model.Emp;
/**
* 사원관리 비즈니스로직 처리
*
* @author : oramaster
*
*/
@Service
public class EmpBO {
@Autowired
private EmpDAO empDAO;
/**
* 사원목록 조회
*
* @return
*/
public List<Emp> getEmpList() {
return empDAO.selectEmpList();
}
/**
* 사원정보 조회
* @param empno
* @return
*/
public Emp getEmp(int empno) {
return empDAO.selectEmp(empno);
}
/**
* 사원정보 등록
* @param emp
*/
public void registerEmp(Emp emp) {
empDAO.insertEmp(emp);
}
}
com.oracleclub.study.mvc.controller.EmpViewController.java
package com.oracleclub.study.mvc.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.oracleclub.study.mvc.bo.EmpBO;
/**
* 사원 상세정보 조회
*
* @author : gurubee
*
*/
@Controller
public class EmpViewController {
@Autowired
private EmpBO empBO;
@RequestMapping(value = "/emp/view/{empno}")
public ModelAndView view(@PathVariable int empno) {
ModelAndView mv = new ModelAndView();
// 사원정보 조회 추가
mv.addObject("emp", empBO.getEmp(empno));
// View 지정
// mvc-dispatcher-servlet.xml 파일의 viewResolver를 사용
mv.setViewName("emp/view");
return mv;
}
}
..
<td><a href="/emp/view/${emp.empno}">${emp.ename}</a></td>
..
![]() |