#正确代码
@Override
public List<Emp> findAll(int currentPage) {
List<Emp> empList = new ArrayList<>();
String sql ="select * from emp limit "+ (currentPage-1)*2+",2";
ResultSet rs = jdbc.executeQuery(sql, null);
try {
while (rs.next()) {
Emp emp = new Emp();
emp.setEmpid(rs.getInt(1));
emp.setEmpname(rs.getString(2));
emp.setEmpsex(rs.getString(3));
empList.add(emp);
}
} catch (SQLException e) {
e.printStackTrace();
}
jdbc.closeResource();
return empList;
}
- 使用PreparedStatement用"?"报错原因
String sql ="select * from emp limit (?-1)*2+,2";
//之后给?赋值不可以
错误一:limit 语句中不可以加减,然而where中可以
错误二:limit ‘1’,2;错误,传入String类型在limit中无法识别
- 解决:使用了Statement的老办法解决。
可是这样会产生安全性的问题该怎样解决呢?