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 의 프로필 은 인터넷 에서 찾 을 수 있 습 니 다. 여 기 는 더 이상 쓰 지 않 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ibatis 하위 대상 조회텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.