zoukankan      html  css  js  c++  java
  • 把用SQL查询的分页对象转化为内容为Object的分页对象

    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;

    }

  • 相关阅读:
    读书笔记--SQL必知必会21--使用游标
    读书笔记--SQL必知必会20--管理事务处理
    读书笔记--SQL必知必会19--存储过程
    读书笔记--SQL必知必会18--视图
    PopupWindow
    android shape的使用
    带删除小图标的EditText
    Android点击EditText文本框之外任何地方隐藏键盘的解决办法
    Android px、dp、sp之间相互转换
    android edittext不弹出软键盘
  • 原文地址:https://www.cnblogs.com/malcolm/p/2702991.html
Copyright © 2011-2022 走看看