Struts 2 + Ibatis + Spring + 직렬 조회

더 읽 기
요즘 한가 해서 struts 2 + ibatis + spring 입문 예 데이터 베 이 스 를 만 들 었 습 니 다. Oacle 10 을 사용 합 니 다.표 는 scott. emp 와 scott. dept 두 장의 표 급 연결 조회 (상세 한 설명 ibatis in action) 본 예 는 후자 입 니 다. 
 
dao 패키지
 
 
package com.huasoft.common.dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 *      :      :IBaseDao.java     :DAO     ,     CURD          :2014-3-26
 *     :  
 */
public abstract interface  BaseDao {
	/*    */

	QueryResult pagedQuery(Map searchParams, Integer pageNumber,Integer pageSize, final String statementId);

}

 
 
    
package com.huasoft.common.dao;

import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;
import org.apache.poi.util.StringUtil;
import org.springframework.orm.ibatis.SqlMapClientCallback;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;

import com.ibatis.sqlmap.client.SqlMapExecutor;


/**
 *      : 
 *      :BaseDaoSupport.java 
 *     :DAO        ,     CURD     
 *     :2014-03-26     :  
 */
@SuppressWarnings("unchecked")
public class BaseDaoImpl extends SqlMapClientDaoSupport implements BaseDao {

	
	private static Logger log=Logger.getLogger(BaseDaoImpl.class);
	
	

	/*
	 *     
	 * */
	public QueryResult pagedQuery(Map searchParams, Integer pageNumber,Integer pageSize, final String statementId)
	{
		//if(pageNumber==null)pageNumber=1;
	
		Integer total=(Integer)getSqlMapClientTemplate().queryForObject(statementId, searchParams);
		Pageable page=buildPageRequest(pageNumber,pageSize);
		searchParams.put("offset",(pageNumber-1)*pageSize);
		searchParams.put("limit",page.getOffset());
		List list=getSqlMapClientTemplate().queryForList(statementId, searchParams);
		Page pagination=new PageImpl(list,page,total);
		QueryResult queryResult=new QueryResult();
		queryResult.setContent(pagination.getContent());
		queryResult.setTotal(total);
		queryResult.setTotalpages(pagination.getTotalPages());
		
		return queryResult;
	}
	
	
	 
	private PageRequest buildPageRequest(Integer pageNumber, Integer pageSize)
	{
		return new PageRequest(pageNumber, pageSize);
	}
	

	
	
	
	
	
	
}

    
 
 
   페이지 별 조회 보조 클래스
 
   
package com.huasoft.common.dao;

import java.util.List;

public class QueryResult
{
	private List content;
	private Integer total;

	private Integer totalpages;

	
	public List getContent()
	{
		return content;
	}
	public void setContent(List content) {
		this.content = content;
	}
	public Integer getTotal() {
		return total;
	}
	public void setTotal(Integer total) {
		this.total = total;
	}
	
	public Integer getTotalpages() {
		return totalpages;
	}
	public void setTotalpages(Integer totalpages) {
		this.totalpages = totalpages;
	}
}

    
 
    
    javabean
 
   
package com.huasoft.common.domain;


import java.util.List;
import com.huasoft.common.domain.Emp
public class Dept 
{
	private String deptno;
	private String dname;
	private String loc;
	private List<Emp> emp;
	
        /*setter  getter   */

	
}

   
 
   
package com.huasoft.common.domain;

import java.math.BigDecimal;
import java.util.Date;

public class Emp
{
    private Integer empno;
    private String ename;
    private String job;
    private Integer mgr;
   
    private Date hiredate;
    private BigDecimal sal;
    private BigDecimal comm;
    private Integer deptno;
   
   
	
	
}

 
    javabean 맵 파일
 
 
   



  
  
  
  
  
 
  
    
    
    
    
    
    
    
    
 
  
  
  
  
    
    
    
    
  
  
  
  
	
	
	

 
    sqlmap-config.xml
 
 
    




    
      
      
      

 
 
 
   struts 2 와 spring 의 프로필 은 인터넷 에서 찾 을 수 있 습 니 다. 여 기 는 더 이상 쓰 지 않 습 니 다.
 
 

좋은 웹페이지 즐겨찾기