翻页代码逻辑处理

1.首先来了解翻页的规律和方法

 每页的条数 固定不变      pageSize 3 
 总共记录数          select count(*) from user   totalSize   10
 10 / 3 = 3 .....1     
 共多少页totalPage     totalSize % pageSize == 0 ? totalSize / pageSize  : totalSize / pageSize + 1
 当前页          currentPage     ====》default   1     
 当前页的数据         select * from user limit (currentPage-1)*pageSize,pageSize
 
 规律       
0,4,8,12,16
0,3,6,9,12,(6-1)*3 
(n-1)*m  

2.封装成员变量和方法 

package javaweb_jsp.entry;

import java.util.List;

public class PageBean {
    
    //总的页数
    private Integer totalPage;
    //当前页
    private Integer currentPage;
    //每页的数据 
    private List<User> userList;
    
    
    public Integer getTotalPage() {
        return totalPage;
    }
    public void setTotalPage(Integer totalPage) {
        this.totalPage = totalPage;
    }
    public Integer getCurrentPage() {
        return currentPage;
    }
    public void setCurrentPage(Integer currentPage) {
        this.currentPage = currentPage;
    }
    public List<User> getUserList() {
        return userList;
    }
    public void setUserList(List<User> userList) {
        this.userList = userList;
    }
    @Override
    public String toString() {
        return "PageBean [totalPage=" + totalPage + ", currentPage=" + currentPage + ", userList=" + userList + "]";
    }
    
    

}
 

3.service业务逻辑层处理 

package javaweb_jsp.service;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javaweb_jsp.dao.PageDao;
import javaweb_jsp.entry.PageBean;
import javaweb_jsp.entry.User;
/**
 * 定义service层,处理逻辑关系和数据之间的调用
 * 
 * 通过日志打印的方式,运行程序时,方便查询错误
 * 打印日志需要通过占位符{},如果不加这个是打印不出来的
 * logger.info("获取的总记录数为:{}",toalSize);
 * 
 * 
 * @author Administrator
 *
 */
public class PageService {


  //使用指定类初始化日志对象
Logger logger=LoggerFactory.getLogger(PageService.class);

    
    public PageBean getPageBean( String currentPage){


        //打印日志
        if(logger.isInfoEnabled()){
            logger.info("获取的当前页为:{}",currentPage);
        }
        

        int PageSize=4;
        
        //初始化为0
        Integer currentPageInteger = 0;
        
        if(currentPage!=null){
            //因为从web层获取的类型都是字符串型,且类型需要把类型转换下int类型
            currentPageInteger=Integer.valueOf(currentPage);
        }
        
        //实例化对象
        PageDao pageDao = new PageDao();
        //总记录数
        long toalSize = pageDao.getToalSize();//调用getToalSize()数据库的查询的数据
        
        if(logger.isInfoEnabled()){

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Unity多个UI左右循环页的示例代码: ```csharp using UnityEngine; using UnityEngine.UI; public class UICarousel : MonoBehaviour { public GameObject[] panels; // 存储所有UI面板 public Button btnPrev; // 向左页按钮 public Button btnNext; // 向右页按钮 private int currentIndex = 0; // 当前显示的UI面板的索引值 private void Start() { // 初始化时,将当前显示的UI面板设置为Active状态,其他UI面板为Inactive状态 for (int i = 0; i < panels.Length; i++) { panels[i].SetActive(i == currentIndex); } // 绑定按钮事件 btnPrev.onClick.AddListener(() => { Page(-1); }); btnNext.onClick.AddListener(() => { Page(1); }); } private void Page(int direction) { currentIndex += direction; // 当索引值大于等于UI面板数量时,将其设置为0,表示从最后一个面板切换到第一个面板 if (currentIndex >= panels.Length) { currentIndex = 0; } // 当索引值小于0时,将其设置为UI面板数量减1,表示从第一个面板切换到最后一个面板 else if (currentIndex < 0) { currentIndex = panels.Length - 1; } // 根据当前显示的UI面板的索引值,设置当前显示的UI面板为Active状态,其他UI面板为Inactive状态 for (int i = 0; i < panels.Length; i++) { panels[i].SetActive(i == currentIndex); } } } ``` 在这个示例代码中,我们定义了一个UICarousel类来处理多个UI左右循环页的逻辑。在Start方法中,我们将当前显示的UI面板设置为Active状态,其他UI面板为Inactive状态,并且绑定了两个按钮的事件。在Page方法中,我们根据页方向更新当前显示的UI面板的索引值,并且根据索引值设置当前显示的UI面板的状态。最后,在按钮事件中,调用Page方法并传递页方向参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值