Table of Contents
分页查询
Home Database Mysql Tutorial Mysql和Oracle数据库中的分页查询_MySQL

Mysql和Oracle数据库中的分页查询_MySQL

Jun 01, 2016 pm 01:33 PM
mysql oracle database

bitsCN.com

Mysql和Oracle数据库中的分页查询

 

方法一:mysql数据库分页

    //定义每一页显示的记录

int pageSize = 3;

String strPageNo = request.getParameter("pageNo");

        //记录当前页面

int pageNo;

        //如果传入的当前页码为空,停留在第一页

if(strPageNo == null || strPageNo.equals(""))

{

pageNo = 1;

}

else

{

 try

                //把传进来的字符串转化成数字

{

pageNo = Integer.parseInt(strPageNo.trim());

}

 

catch(NumberFormatException e)

 

{

 

pageNo = 1;

 

}

                    //如果页码小于或者等于0停留在第一页

if(pageNo

{

pageNo=1;

}

}

 

//连接数据库

Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection

("jdbc:mysql://localhost/bbs?user=root&password=mingming");

Statement stCount = conn.createStatement();

ResultSet rsCount = stCount.executeQuery

("select count(*) from article where pid=0");//查询共有多少个根节点

rsCount.next();

int totalRecord = rsCount.getInt(1); //拿到所有的子节点,计算出总共有多少条记录

 

//   第一种方法        计算得到总的页数,如果能被整数,页数就是商,否则就是商+1

int totalPage = 

totalRecord%pageSize==0 ? totalRecord/pageSize : totalRecord/pageSize +1;

        //第二种方法    计算得到总的页数,在 总记录上+加一个pageSize然后减去1除页面的大小pageSize,取商

    

        int totalRecords = rsCount.getInt(1);

 

        totalPages = (totalRecords + PAGE_SIZE - 1)/PAGE_SIZE;

 

 

 

        //如果当前页码大于总的页数,停在最后一页

if(pageNo>totalPage)

{

pageNo = totalPage;

}

//计算每一次分页时 的起始位置,注意起始是从0开始;

int startPos = (pageNo-1)*pageSize;

Statement st = conn.createStatement();

        //进行分页查询,startPos是每一次分页的起始位置;   pageSize是这一页要显示记录的大小

ResultSet rs = st.executeQuery

("select * from article where pid =0 order by pdate desc limit "+startPos+","+pageSize);

%>   

 

分页后在页面的不同的显示方式:

 

方式一:在一个table中正常的显示:

 

while(rs.next()){

%>

}

                //关闭流

rs.close();

st.close();

conn.close();

%>

//只显示每一个记录的title

首页 共页  第页 末页

上一页  

下一页

 

方式二:可以选择的显示:可以实现页面的跳转

 

 

for(int i = 1;i

%>

}

%>

方式三:可以直接进行页面的查找:

 

//提交到当前页面

/>

 

 

 

方法二:Oracle数据库下的分页操作

 

 

分页查询

//连接数据库,加载驱动

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection ct = DriverManager.getConnection

("jdbc:oracle:thin:@127.0.0.1:1521:ORCL","scott","tiger");

Statement sm = ct.createStatement();

//总共有多少页

int pageCount = 0;

//总共有多少行记录

int rowCount = 0;

//每页有3行记录

int pageSize = 3;

//接收pageNow

String s_pageNow = (String)request.getParameter("pageNow");

//当前在第一页

int pageNow = 1;

if(s_pageNow != null)

{

//把s_pageNow转化为数值型

pageNow = Integer.parseInt(s_pageNow);

}

//查询表中共有多少条记录

ResultSet rs = sm.executeQuery("select count(*) from emp");

if(rs.next())

{

rowCount = rs.getInt(1);

//如果整除就是商,否则就是商加上1  可以用三元表达式代替  rowCount%pageSize==0 ?  rowCount/pageSize : rowCount/pageSize +1

if(rowCount%pageSize == 0)

{

pageCount = rowCount/pageSize;

}

else

{

pageCount = rowCount/pageSize +1;

}

}

//执行分页查询

rs = sm.executeQuery

("select * from (select a1.*,rownum rn from(select * from emp) a1 where rownum="+((pageNow-1)*pageSize+1)+" ");

while(rs.next())

{

out.println("

");

out.println("

");

out.println("

");

out.println("

");

}

//输出每一页要查找的连接

for(int i=1; i

{

out.print("["+i+"]");

}

%>

姓名 薪水
"+rs.getString(2)+" "+rs.getString(6)+"

 

bitsCN.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

RDS MySQL integration with Redshift zero ETL RDS MySQL integration with Redshift zero ETL Apr 08, 2025 pm 07:06 PM

Data Integration Simplification: AmazonRDSMySQL and Redshift's zero ETL integration Efficient data integration is at the heart of a data-driven organization. Traditional ETL (extract, convert, load) processes are complex and time-consuming, especially when integrating databases (such as AmazonRDSMySQL) with data warehouses (such as Redshift). However, AWS provides zero ETL integration solutions that have completely changed this situation, providing a simplified, near-real-time solution for data migration from RDSMySQL to Redshift. This article will dive into RDSMySQL zero ETL integration with Redshift, explaining how it works and the advantages it brings to data engineers and developers.

Can mysql handle multiple connections Can mysql handle multiple connections Apr 08, 2025 pm 03:51 PM

MySQL can handle multiple concurrent connections and use multi-threading/multi-processing to assign independent execution environments to each client request to ensure that they are not disturbed. However, the number of concurrent connections is affected by system resources, MySQL configuration, query performance, storage engine and network environment. Optimization requires consideration of many factors such as code level (writing efficient SQL), configuration level (adjusting max_connections), hardware level (improving server configuration).

mysql whether to change table lock table mysql whether to change table lock table Apr 08, 2025 pm 05:06 PM

When MySQL modifys table structure, metadata locks are usually used, which may cause the table to be locked. To reduce the impact of locks, the following measures can be taken: 1. Keep tables available with online DDL; 2. Perform complex modifications in batches; 3. Operate during small or off-peak periods; 4. Use PT-OSC tools to achieve finer control.

Query optimization in MySQL is essential for improving database performance, especially when dealing with large data sets Query optimization in MySQL is essential for improving database performance, especially when dealing with large data sets Apr 08, 2025 pm 07:12 PM

1. Use the correct index to speed up data retrieval by reducing the amount of data scanned select*frommployeeswherelast_name='smith'; if you look up a column of a table multiple times, create an index for that column. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

The primary key of mysql can be null The primary key of mysql can be null Apr 08, 2025 pm 03:03 PM

The MySQL primary key cannot be empty because the primary key is a key attribute that uniquely identifies each row in the database. If the primary key can be empty, the record cannot be uniquely identifies, which will lead to data confusion. When using self-incremental integer columns or UUIDs as primary keys, you should consider factors such as efficiency and space occupancy and choose an appropriate solution.

Can mysql run on android Can mysql run on android Apr 08, 2025 pm 05:03 PM

MySQL cannot run directly on Android, but it can be implemented indirectly by using the following methods: using the lightweight database SQLite, which is built on the Android system, does not require a separate server, and has a small resource usage, which is very suitable for mobile device applications. Remotely connect to the MySQL server and connect to the MySQL database on the remote server through the network for data reading and writing, but there are disadvantages such as strong network dependencies, security issues and server costs.

Can mysql return json Can mysql return json Apr 08, 2025 pm 03:09 PM

MySQL can return JSON data. The JSON_EXTRACT function extracts field values. For complex queries, you can consider using the WHERE clause to filter JSON data, but pay attention to its performance impact. MySQL's support for JSON is constantly increasing, and it is recommended to pay attention to the latest version and features.

Unable to log in to mysql as root Unable to log in to mysql as root Apr 08, 2025 pm 04:54 PM

The main reasons why you cannot log in to MySQL as root are permission problems, configuration file errors, password inconsistent, socket file problems, or firewall interception. The solution includes: check whether the bind-address parameter in the configuration file is configured correctly. Check whether the root user permissions have been modified or deleted and reset. Verify that the password is accurate, including case and special characters. Check socket file permission settings and paths. Check that the firewall blocks connections to the MySQL server.

See all articles