分页查询MySql语句异常处理

方法的部分源码是这样的

public ArrayList getGoodsByPage(int pageSize,int pageNow){

ArrayList al=new ArrayList();
try {
ct=new ConnDB().getConn();
ps=ct.prepareStatement( "select * from goods limit "+ (pageNow-1)*pageSize,pageSize);
rs=ps.executeQuery();
while (rs.next()){
//System.out.println("while");
//将查到的数据封装到gb中 
GoodsBean gb=new GoodsBean();
gb.setGoodsId(rs.getInt(1));  
gb.setGoodsName(rs.getString(2));
gb.setGoodsIntro(rs.getString(3));
gb.setGoodsPrice(rs.getFloat(4));
gb.setGoodsNum(rs.getInt(5));
gb.setPublisher(rs.getString(6));
gb.setPhoto(rs.getString(7));
gb.setType(rs.getString(8));

//加入到al
al.add(gb);
//System.out.println(al.get(2));
}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{

this.close();
}
return al;

}

这样运行会出现sql语句错误,对于刚刚接触数据库的我来讲,想了两天还没有解决。最后经过大神指教,原来出现了executequery方法的重载。正确代码该是ps=ct.prepareStatement( "select * from goods limit "+ (pageNow-1)*pageSize+","+pageSize);

猜你喜欢

转载自blog.csdn.net/qq_40715775/article/details/78461845