2023年6月21日发(作者:)
java分页查询sql语句_Java数据库学习之分页查询分页查询 limit [start],[rows]思路:pram start 从哪⼀⾏开始 关键是从哪⼀⾏开始,需要根据查询的页数来进⾏换算出查询具体页数是从哪⼀⾏开始start = (pages-1)*rows;pages : 具体要查询那⼀页rows : 每页查询多少⾏pram rows 查询多少⾏总页数需⽤额外的⽅法使⽤SQL语句中的count关键字来计算,并对⽤户输⼊的页数进⾏逻辑判断。当⽤户输⼊页数<=0;从第⼀页开始 当⽤户输⼊页数>=最⼤页数是 从最⼤的页数开始DEMO1 分页查询的主⽅法public List selectByPage(int startpage, int rows) {sql = "select * from tb_user limit ?,?";conn = n();List list = new ArrayList<>();User user = null;try {PreparedStatement ps = eStatement(sql);int start = (startpage-1)*rows;(1, start);(2, rows);ResultSet rs = eQuery();while(()) {user = new User(ing("pass"), ("uage"), ing("uname"),ing("birthday"), Decimal("sal"), null);(user);}} catch (SQLException e) {tackTrace();}finally {esources(conn, ps, null);}return list;}DEMO2计算可查询最⼤页数的⽅法/**** @param rows 为每次查询时需显⽰的⾏数* @return countpages返回的是可查的最⼤页数*/@Overridepublic int countmaxpages(int rows) {// 计算查询表的最⼤页数int countpages = 0;sql = "select count(*) from tb_user";conn = n();try {ps = eStatement(sql);ResultSet rs = eQuery();//结果集存储的是查询后的表的内容,// 如果只查询⼀个字段,则查询后的返回的结果集只有⼀个字段if(()) {int lines = (1);countpages = (lines%rows==0)?(lines/rows):(lines/rows+1);}} catch (SQLException e) {tackTrace();}return countpages;}DEMO3代码优化,需要对⽤户输⼊的页数进⾏合法性判断。@Overridepublic Map selectByPage(int startpage, int rows) {// 对⽤户输⼊的页数合法性进⾏判断//如果⽤户输⼊的页数<=0,或⽤户的输⼊查询的⾏数>总⾏数。则设置默认从第⼀页开始显⽰if(startpage<=0||rows>axpages(rows)) {startpage = 1;}//如果⽤户的输⼊查询的⾏数>最⼤页数(根据⽤户输⼊的查询⾏数和总可查询⾏数确定)。则设置默认从最后⼀页开始显⽰if(startpage>axpages(rows)) {startpage = axpages(rows);}List list = new ArrayList<>();list = ByPage(startpage, rows);if(()==0) {("code",600);("msg","分页查询失败");return map;}else {("code",200);("msg","分页查询成功");h(user1->{n(user1);});return map;}}
2023年6月21日发(作者:)
java分页查询sql语句_Java数据库学习之分页查询分页查询 limit [start],[rows]思路:pram start 从哪⼀⾏开始 关键是从哪⼀⾏开始,需要根据查询的页数来进⾏换算出查询具体页数是从哪⼀⾏开始start = (pages-1)*rows;pages : 具体要查询那⼀页rows : 每页查询多少⾏pram rows 查询多少⾏总页数需⽤额外的⽅法使⽤SQL语句中的count关键字来计算,并对⽤户输⼊的页数进⾏逻辑判断。当⽤户输⼊页数<=0;从第⼀页开始 当⽤户输⼊页数>=最⼤页数是 从最⼤的页数开始DEMO1 分页查询的主⽅法public List selectByPage(int startpage, int rows) {sql = "select * from tb_user limit ?,?";conn = n();List list = new ArrayList<>();User user = null;try {PreparedStatement ps = eStatement(sql);int start = (startpage-1)*rows;(1, start);(2, rows);ResultSet rs = eQuery();while(()) {user = new User(ing("pass"), ("uage"), ing("uname"),ing("birthday"), Decimal("sal"), null);(user);}} catch (SQLException e) {tackTrace();}finally {esources(conn, ps, null);}return list;}DEMO2计算可查询最⼤页数的⽅法/**** @param rows 为每次查询时需显⽰的⾏数* @return countpages返回的是可查的最⼤页数*/@Overridepublic int countmaxpages(int rows) {// 计算查询表的最⼤页数int countpages = 0;sql = "select count(*) from tb_user";conn = n();try {ps = eStatement(sql);ResultSet rs = eQuery();//结果集存储的是查询后的表的内容,// 如果只查询⼀个字段,则查询后的返回的结果集只有⼀个字段if(()) {int lines = (1);countpages = (lines%rows==0)?(lines/rows):(lines/rows+1);}} catch (SQLException e) {tackTrace();}return countpages;}DEMO3代码优化,需要对⽤户输⼊的页数进⾏合法性判断。@Overridepublic Map selectByPage(int startpage, int rows) {// 对⽤户输⼊的页数合法性进⾏判断//如果⽤户输⼊的页数<=0,或⽤户的输⼊查询的⾏数>总⾏数。则设置默认从第⼀页开始显⽰if(startpage<=0||rows>axpages(rows)) {startpage = 1;}//如果⽤户的输⼊查询的⾏数>最⼤页数(根据⽤户输⼊的查询⾏数和总可查询⾏数确定)。则设置默认从最后⼀页开始显⽰if(startpage>axpages(rows)) {startpage = axpages(rows);}List list = new ArrayList<>();list = ByPage(startpage, rows);if(()==0) {("code",600);("msg","分页查询失败");return map;}else {("code",200);("msg","分页查询成功");h(user1->{n(user1);});return map;}}
发布评论