sql 语句用 limit index ,size 。
页面然后传 index 和size 两个值 来分页 一般 用ajax 来刷新
selct * from tablename where name="xxx" limit index,size
index开始查的位置
size要查多少条
以mysql + mybatis 为例
一般在service层, 在执行查询之前加上:
PageHelper.startPage(page , size);
// mapper查询接口
这样就会查询语句最后加上 (limit size * (page - 1) ,size )
望采纳,谢谢。
是用limit函数
取前5条数据
select * from table_name limit 0,5
或者
select * from table_name limit 5
查询第11到第15条数据
select * from table_name limit 10,5
limit关键字的用法:
LIMIT [offset,] rows
offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。
order by 排序, 传page和size。
用limit就OK了
这种可以让后台接口做好分页,传参数就行吧
mysql的用limit得到想要的数据就可以,oracle可以用rownum
package com.book.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class BaseDao {
public Connection getConn(){
Connection conn=null;
以下是JDBC实现连接Oracle数据库的过程
try {
//1.加载驱动类
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.定义连接字符串
String url="jdbc:oracle:thin:localhost:1521:orcl";
String name="scott";
String pwd="123456";
//3.创建connection连接
conn=DriverManager.getConnection(url,name,pwd);
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
}
//以上代码是连接Oracle数据库的类
package com.book.dao;
import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import cn.entity.Books;
public class BooksDao extends BaseDao{
public List pages(int curpage,int pagesize){//实现分页显示的方法,注意连接的是Oracle数据库。curpage表示当前页;pagesize表示页面大小,就是一页显示多少行数据
List list=new ArrayList();
int begin=(curpage-1)*pagesize+1;//begin表示开始记录数,
比如是1到10行记录,则begin是1,end是10,共10条记录。
int end=curpage*pagesize;//end表示结束记录数
Connection conn=super.getConn();
//接着上一个类,4。创建SQL语句
String sql="select * from "
+ "(select b1.*,rownum rn from "
+ "(select * from books order by bookid) b1) b2 where bookid between ? and ?";
try {
//5.创建statement(发送sql语句到数据库)
PreparedStatement ps=conn.prepareStatement(sql);
Class<?> clz=Class.forName("cn.entity.Books");
ps.setInt(1,begin);
ps.setInt(2, end);
//6.发送并执行
ResultSet rs=ps.executeQuery();
//以下代码是应用反射技术,是返回的数据是一个个对应着数据库表中一个个记录行的对象
while(rs.next()){
Books obj=(Books) clz.newInstance();
Field []fs=clz.getDeclaredFields();
for(Field f:fs){
Object value=rs.getObject(f.getName());
f.setAccessible(true);
if(f.getType().getName().equals("int")||f.getType().getName().equals("java.lang.Integer")){
f.set(obj, Integer.parseInt(value.toString()));
}else if(f.getType().getName().equals("double")||f.getType().getName().equals("java.lang.Double")){
f.set(obj, Double.parseDouble(value.toString()));
}else{
f.set(obj, value);
}
}
list.add(obj);//将一个个对象添加到List集合中
}
//7./关闭连接
rs.close();
ps.close();
conn.close();
} catch (SQLException | ClassNotFoundException | InstantiationException | IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
}