使用limit分页查询无效(显示所有结果)

使用limit分页查询无效(显示所有结果)

http://img1.sycdn.imooc.com//climg/5c72855a0001968704870455.jpg

package addCourse.servlet;


import java.io.IOException;

import java.util.List;


import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import addCourse.model.course;

import addCourseDaoImpl.courseDaoImpl;


@WebServlet("/addCourseServlet")

public class addCourseServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

       

    public addCourseServlet() {

        super();

    }


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

course c = new course();

String courseName = request.getParameter("courseName");

String category =request.getParameter("category");

String desp =request.getParameter("desp");

if(courseName.isEmpty()||category.isEmpty()||desp.isEmpty()) {

request.getRequestDispatcher("/addCourse.jsp").forward(request, response);

}else {

c.setName(courseName);

c.setCategory(category);

c.setDesp(desp);

courseDaoImpl add= new courseDaoImpl();

boolean flag = add.addCourse(c);

if(flag) {

request.getSession().setAttribute("add", "1");

}

System.out.println(flag+"///");

List<course> list = add.FindAllCourse(0,5);

request.getSession().setAttribute("list",list);

request.getRequestDispatcher("/showCourse.jsp").forward(request, response);

}

}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}


}

---------------------------------------------------

package addCourseDaoImpl;


import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.ArrayList;

import java.util.List;


import com.mchange.v2.c3p0.ComboPooledDataSource;


import addCourse.model.course;

import addCourseDao.addCourseDao;

import addCourseJDBCUtils.jdbcUtils;


public class courseDaoImpl implements addCourseDao {


@Override

public boolean addCourse(course c) {

Connection conn = null;

PreparedStatement pstmt = null;

boolean flag = false;

try {

conn = jdbcUtils.getConn();

String sql = "insert course values(null,?,?,?,now())";

pstmt = conn.prepareStatement(sql);

pstmt.setString(1, c.getName());

pstmt.setString(2, c.getCategory());

pstmt.setString(3,c.getDesp());

int x = pstmt.executeUpdate();

if(x>0) {

flag = true;

}

}catch(Exception e) {

e.printStackTrace();

}finally {

jdbcUtils.release(conn, pstmt);

}

return flag;

}


@Override

public List<course> FindAllCourse(int index,int column) {

Connection conn = null;

PreparedStatement pstmt = null;

List<course> list = new ArrayList();

ResultSet rs = null;

try {

conn = jdbcUtils.getConn();

String sql = "select * from course limit ?,?";

pstmt = conn.prepareStatement(sql);

pstmt.setInt(1, index);

pstmt.setInt(2, column);

rs = pstmt.executeQuery();

while(rs.next()) {

course c = new course();

c.setId(rs.getInt("id"));

c.setName(rs.getString("name"));

c.setCategory(rs.getString("category"));

c.setDesp(rs.getString("desp"));

c.setCreateTime(rs.getDate("createTime"));

list.add(c);

}

}catch(Exception e) {

e.printStackTrace();

}finally {

jdbcUtils.release(conn, pstmt,rs);

}

return list;

}

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
一叶知秋519 2019-02-25 16:27:28

同学你好,由于没有jsp页面,所以无法运行你的代码,建议同学在下图的地方:

http://img1.sycdn.imooc.com//climg/5c73a67c0001780604000078.jpg

打印一下list中的值,看一下是按照5条显示的吗?

如果是的话,建议同学检查一下jsp页面中是否是从list中取的值,或者重新命名一个list1,将分页取得的值存到list1中,然后在jsp页面中从list1中取值显示。

祝学习愉快!

  • 提问者 慕粉4191198 #1
    for(course cd : list) { System.out.println("---------------------------------------------------"); System.out.println(cd.getName()+" "+cd.getCategory()+" "+cd.getDesp()); }使用了打印不了,控制台没有任何显示,那个list可以在调试模式下看到所有元素
    2019-02-25 22:19:22
  • 一叶知秋519 回复 提问者 慕粉4191198 #2
    你把你所有的代码贴全吧,包括项目的目录结构,我们运行调试一下你的代码,给出你准确的答案。祝学习愉快!
    2019-02-26 14:40:15
  • 提问者 慕粉4191198 #3
    我重新提问了,回复不能超过1500字符
    2019-02-26 22:01:50
提问者 慕粉4191198 2019-02-25 12:14:43

在sqlyog中可以显示

一叶知秋519 2019-02-25 11:36:26

建议同学打印一下FindAllCourse方法中的sql语句,然后将打印出来的sql语句在cmd命令行中执行一下,看得到的数据是正确的吗?


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师