java MYSQL做分页
MySql中查询语句实现分页功能
语句:
Mysql数据库
select * from 表名 limit (pagenum-1)*pagesize, pagesize;
select * from 表名 where 条件 limit 要找第几页,每页多少行;
import java.util.*; import java.sql.*; public class FruitDao { private Connection conn; private PreparedStatement pre; private ResultSet rs; public FruitDao() throws Exception { conn = DBConnection.aa(); } //返回总页数 public int yeshu(int meiyegeshu) throws SQLException{ //求有多少行 int yeshu = 0; String sql = "select count(*)from fruit"; pre = conn.prepareStatement(sql); rs = pre.executeQuery(); rs.next(); int hangshu = rs.getInt(1); //求有多少页 yeshu = (int)Math.ceil(1.0*hangshu/meiyegeshu);//取上限值 conn.close(); return yeshu; } //返回指定页的数据 public ArrayList<Fruit> selest(int yaozhaoyeshu,int meiyegeshu) throws Exception{ ArrayList<Fruit> list = new ArrayList<Fruit>(); String sql = "select * from fruit limit ?,?"; pre = conn.prepareStatement(sql); pre.setInt(1, meiyegeshu*(yaozhaoyeshu-1));//要找第几页,从多少行开始 pre.setInt(2, meiyegeshu);//找的页有多少行 rs = pre.executeQuery(); while (rs.next()){ Fruit data = new Fruit(); data.setIds(rs.getString(1)); data.setName(rs.getString(2)); data.setPrice(rs.getDouble(3)); data.setSource(rs.getString(4)); data.setNumbers(rs.getInt(5)); data.setImage(rs.getString(6)); list.add(data); } conn.close(); return list; } }