您的位置:首页 > 移动开发 > Objective-C

把用SQL查询的分页对象转化为内容为Object的分页对象

2012-09-25 21:24 399 查看
1.建立临时model类(由User类和Student类组成):
public class UserTmp{
private Integer userId;
private String userName;
private Integer userSex;
private String userAddress;
private String stuId;
private String stuName;
public void setUserId(Integer userId)
{
this.userId=userId;
}
public Integer getUserId()
{
return userId;
}
//剩下的省略
}
2.DAO接口:
public inteface IUserDAO{
public Pagination findUserTmpCount(Integer userId,String userName,String dateStartTime,String dateEndTime,Integer pageNo, Integer pageSize) throws Exception;
}
3实现DAO类:
public class UserDAO extends BaseDaoHibernate< UserTmp, Long> implements IUserDAO{
public Pagination findUserTmpCount(Integer userId,String userName,String dateStartTime,String dateEndTime,Integer pageNo, Integer pageSize) throws Exception
{
StringBuilder sql=new StringBuilder();
sql.append("select * from ( ");
sql.append(" select userId,userName,userAddress,createTime from Users ");
sql.append(" left join ");
sql.append(" select stuId,stuName from Student on Users.userId=Student.stuId ) t where 1=1 ");
if(StringUtils.isNotBlank(userId))
{
sql.append(" and t.userId="+Integer.parseInt(userid));
}
if(StringUtils.isNotBlank(userName))
{
sql.append(" and t.userName='"+userName+"'");
}
if(StringUtils.isNotBlank(startTime))
{
sql.append(" and t.createTime >='"+startTime+" 00:00:00.000'");
}
if(StringUtils.isNotBlank(endTime))
{
sql.append(" and t.createTime <='"+endTime+" 23:59:59.999'");
}
sql.append(" order by t.createTime desc ");
Pagination p = pagedSqlQuery(sql.toString(), pageNo, pageSize);
return convertPaginationToPaginationBaIspImgFile(p); }
}
4.Service接口:
public inteface IUserService {
public Pagination findUserTmpCount(Integer userId,String userName,String dateStartTime,String dateEndTime,Integer pageNo, Integer pageSize) throws Exception; }
5.实现Service接口类:
public class UserService implements IUserService{
@Resource
private UserDAO userDao;
public Pagination findUserTmpCount(Integer userId,String userName,String dateStartTime,String dateEndTime,Integer pageNo, Integer pageSize) throws Exception
{
return userDao.findUserTmpCount(userId,userName,dateStartTime,dateEndTime,pageNo,pageSize);
}
}
6.Action调用
public class UserAction extends ActionSupport{
@Resource
private IUserSerice userService;

private Integer userId;
private String userName;
private List<UserTmp> userTmpList;
//get/set方法省略
private int pageSize=10;
public String showQuery()
{
try
{
Pagination data=userService.findUserTmpCount(userId, username, createStartTime, createEndTime, getCurrentPage(), pageSize);
userTmpList=(List<UserTmp>)data.getList();
setTotalPage(data.getTotalPage());
totalCount=data.getTotalCount();
pagination=data;

}
catch(Exception ex)
{
log.error("异常",ex);
}
return SUCCESS;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐