目录

一.为什么要使用分页?

二.分页显示的步骤

三.实现新闻列表

1.数据行数与需要显示的页数之间的规律

2.编写sql语句

3.Eclipse中的操作

1.dao方法

2.新闻首页

3.效果展示

总结


一.为什么要使用分页?

我们使用分页可以解决,当数据量较多,页面显示不完全时,需要用户拖动页面才能浏览更多信息,这一情况不需要我们拖动页面才能浏览更多信息,只需要点击下方的1,2,3。

  


二.分页显示的步骤

  • 确定每页显示的数据数量(列如每页5条数据)
  • 计算显示的页数
  • 编写SQL语句撒

三.实现新闻列表

1.数据行数与需要显示的页数之间的规律

int page=1;//页
int row=5;//数据
//page 1: 起始位置:1  末尾位置:5
//page 2: 起始位置:6  末尾位置:10
//起始位置:int begin=1+(page-1)*row;
//末尾位置int last=page*row;

2.编写sql语句

    在编写sql语句时列如大家想查看第一条到第五条,大多数会这样子写:

      select * from news where news_id  between 1 and 5;

      这种写法就是大错特错,如果我把id为1的数据删除了,请问你还能查出五条数据吗?当然是无法在查出五条数据的,推荐使用rownum,是因为rownum不会因为数据的删除而被删除,一直会从1向后排序。

   使用rownum注事项:

  • rownum不能使用大于1来作为查询,如果要使用大于1作为查询,我们把伪列转成实列

    伪列代码如下:

select a.*,rownum myr from jw05_news a

 转成实例代码如下:

select * from (select a.*,rownum myr from jw05_news a
)b where myr between 1 and 5;

   得到的结果:

        图片红圈的那一列,就是rownum,myr是我们给rownum取的别名。


3.Eclipse中的操作

1.dao方法

dao方法中的第一个方法讲解:     

  •      第一个方法是让我们点击第几页时,出现该页的五条数据,列如你点击第一页,那么出现1-5条数据,点击第二页时,出现6-10条的数据。
  •     进行模糊查询,模糊查询出几条数据,该几条数据也可以进行分页,列如你查询带西字的数据,带西字的数据有10条,那么第一页是带西字的1-5条,第二页是6-10条。

    dao方法中的第二个方法讲解:

     第二个方法是让我们先算出页数,拿到 总的新闻条数/新闻每页的条数,然后遍历出几个如图片这样子的。

  

package dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import pojo.News;
import pojo.User;
import ulit.DBHeper;public class Dao {private Connection con;private PreparedStatement ps;private ResultSet rs;/*** * @param name 标题名字* @param page  页数* @return*/public List<News> selectLsit(String name,int page){List<News> list=new ArrayList<News>();int row=5;//条数,因为每一页五条数据//初始int begin=1+(page-1)*5;//末尾int last=page*row;try {con=DBHeper.getCon();ps=con.prepareStatement("select * from(select a.*,rownum myr from jw05_news a where news_title like ?)b where myr between ? and ?");ps.setString(1,"%"+name+"%");ps.setInt(2, begin);ps.setInt(3, last);rs=ps.executeQuery();while(rs.next()) {News news=new News();news.setNews_id(rs.getInt(1));news.setNews_title(rs.getString(2));news.setNews_topic(rs.getInt(3));news.setNews_author(rs.getString(4));news.setNews_publisher(rs.getString(5));news.setNews_contet(rs.getString(6));news.setNews_cover(rs.getString(7));news.setNews_count(rs.getInt(8));list.add(news);}} catch (Exception e) {e.printStackTrace();}finally {DBHeper.getColse(con, ps, rs);}return list;}public int select(String name) {//页数=总的新闻条数/条数int row=5;//条数int count=0;//总的条数try {con=DBHeper.getCon();ps=con.prepareStatement("select count(1) from jw05_news where news_title like ?");ps.setString(1,"%"+name+"%");rs=ps.executeQuery();if(rs.next()) {count=rs.getInt(1);//第一列是新闻的总数}//求出页数,Math.ceil向上取整return  new Double(Math.ceil(count*1.0/row)).intValue();} catch (Exception e) {e.printStackTrace();}finally {DBHeper.getColse(con, ps, rs);}return 0;}
}

2.新闻首页

<%@page import="pojo.News"%>
<%@page import="java.util.List"%>
<%@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"%>
<%@page import="dao.Dao"%>
<%@page import="ulit.DBHeper"%>
<%@page import="java.nio.charset.StandardCharsets"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="zh"><%
String newsName=request.getParameter("newsName");
//判断newsName
//如果为null值,设置为空字符串
if(newsName==null){newsName="";
}%><head><meta charset="UTF-8"><title>bootstrap</title><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/css/bootstrap.css"><script src=${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/jquery-3.5.1.js"></script><script src="${pageContext.request.contextPath}/bootstrap-3.3.7-dist/js/bootstrap.js"></script><style>* {outline: none !important;}body,html {background: #7f8d90;}nav,.breadcrumb {border-radius: 0px !important;margin-bottom: 0px !important;}.breadcrumb {margin-bottom: 20px !important;background: #36485c;color: white;}li h4 {width: 300px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.breadcrumb .active {color: yellow;}</style>
</head>
<%
//当用户为空,返回登录界面Object name=session.getAttribute("username");if(name==null){response.sendRedirect("web07/login.jsp");
}
%><body>
<nav class="navbar navbar-default hidden-sm hidden-xs"><div class="container-fluid"><div class="navbar-header"><a class="navbar-brand" href="index.html" style="font-size: 25px;">												

JavaWeb 新闻系统分页操作相关推荐

  1. javaweb新闻数据分页

    目录 序言: 1.分页显示的步骤 确定每页显示数据的数量 计算显示的页数 编写SQL语句 2.使用分页功能的案例 数据库编译语句: 新闻发布系统改动: 主页(index): NewsDao 序言: 在 ...

  2. javaWEB——新闻系统部分功能

    目录 后端主页面的模糊查询功能 前端主界面 前端新闻内容界面 新增评论处理界面 删除评论界面 后端主页面的模糊查询功能 原来是关于主页面的所有显示的基础上 1.添加模糊查询的相关标签 2.设置form ...

  3. JavaWeb.09.新闻之分页功能

    怎么实现分页功能? 目录: 关于分页? 实现数据分页? 分页优化: 模糊查询的优化: 数据库编写SQL语句?         具体代码展示? 关于分页: 在实现分页功能之前,咱们可以先将主页(inde ...

  4. JavaWeb新闻发布系统案例3

    后台 后台主页模糊查询 <!-- 功能1:实现admin.jsp页面中新闻管理模块----模糊查询的搜索功能(根据标题进行模糊查询) --><!-- 注意:在没有学习servlet时 ...

  5. javaweb JSP JAVAJSP 新闻发布系统源码(JSP新闻管理系统)JSP新闻系统

    javaweb JSP JAVAJSP 新闻发布系统源码(JSP新闻管理系统)JSP新闻系统 protected void doGet(HttpServletRequest req, HttpServ ...

  6. jdbc结合sqlserver的javaWeb工程的分页查询共通操作代码

    搜索这个标题找到一篇文章: 适用所有使用jdbc结合sqlserver的javaWeb工程的分页查询共通操作代码 http://alexlsg.iteye.com/blog/700015 看了之后,试 ...

  7. JavaWeb项目:新闻发布系统03(新闻系统的功能完善)

    上一期给大家分享了关于系统的增删改查功能,今天就来接着给大家介绍新闻系统的评论及其他功能. 目录 一,阅读量的制作 效果图: 代码块: 二,新闻标题的模糊查询 效果图: 代码: 三,新闻评论的新增,删 ...

  8. Web09——新闻数据分页

    hellohello!家人们我来啦~ 今天主要学习分页功能哦 目录 一.分页的好处 二.分页显示的步骤 三.实现新闻的分页功能 1.数据库中的操作 2.Eclipse中的操作 一.分页的好处 可以更方 ...

  9. 制作生成静态页面的新闻系统

    利用PHP生成静态HTML页面的好处很多: 1.静态页面不需要Web服务器解释执行,用户打开网页的速度会快些: 2.打开静态页面时,Web服务器不需要访问数据库,减轻了对数据库访问的压力: 3.静态H ...

最新文章

  1. php中的__call调用
  2. 【Deep Learning】Tensorflow实现逻辑回归
  3. iframe 监听内部接口是否加载完成_低成本0基础打造自己的app之uni-app请求接口以及生命周期函数...
  4. Django信号量实现用户密码修改
  5. Usaco_1_3_Calf Flac
  6. 传奇DBC数据库变量详细解释传奇DB文件详解
  7. python3安装及加载gensim
  8. matlab和r语言做热图,R语言画图与MATLAB画图PK
  9. android mcc 模拟,Android 读取MCC, MNC
  10. 固定码率(CBR)与可变码率(VBR)
  11. p5.js创意绘图(2)自画像
  12. win10 C盘突然少了许多空间解决办法
  13. 荷混凝柱截StructureРoint spColumn 5.50 1CD载筋
  14. 2022-2028全球双斜齿轮行业调研及趋势分析报告
  15. MFC Windows程序设计 读书笔记2
  16. 用docker-compose来搭建Hadoop(一)——创建三个ubu
  17. 动态规划之股票买卖系列问题
  18. 进阶之路-Excel之数据透视表
  19. 一个上网APP如何让全民拥有免费wifi的秘诀
  20. 2020计算机技术类,部分人工智能与软件工程SCI一区期刊列表(基于letpub数据)

热门文章

  1. 汽车销售行业如何做需求分析?​
  2. 加密过的VCD光盘(CDFS文件系统)隐藏的视频文件如何复制到硬盘
  3. 书论88 何绍基《论书》
  4. 边缘计算网关在水文监测系统中的应用
  5. 正规国家级医学期刊征稿
  6. AppFuse 3常见问题与解决方法
  7. 用计算机采集卡检测压力传感器信号故障,论文:计算机联网检测系统在机动车检测中的应用-中大网校论文网...
  8. 图形工作站如何确保设计图纸等重要数据的安全——HC12远程图形工作站解决方案...
  9. matlab b-spline
  10. 数据分析药店销售项目