public classTestMysql {//取得连接
private static Connection conn =ConnectionUitl.getConnection();public static voidmain(String[] args) {
System.out.println(selectCount("A"));
}/*** 实现模糊统计数据量:
*@paramkw 模糊查询的关键字
*@return
*/
public staticInteger selectCount(String kw) {
String sql= "SELECT COUNT(*)"
+ " FROM emp"
+ " WHERE ename LIKE ?";try{
PreparedStatement pst=conn.prepareStatement(sql);
pst.setObject(1, "%"+kw+"%");
ResultSet rst=pst.executeQuery();
rst.next();//让指针往下移动才能获取结果集中的数据
return rst.getInt(1);
}catch(SQLException e) {
e.printStackTrace();
}finally{
ConnectionUitl.close(conn);
}return 0;
}/*** 实现模糊分页查询:
*@paramkw 模糊查询的关键字
*@paramcp 当前页
*@paramls 每页显示的数据量
*@return
*/
public static ListselectSplitAll(String kw,Integer cp,Integer ls) {//准备 sql 语句
String sql = "SELECT empno,ename,job,hiredate,sal,comm,mgr,deptno"
+ " FROM emp"
+ " WHERE empno LIKE ? LIMIT ?,?";
List list = new ArrayList();try{
PreparedStatement pst=conn.prepareStatement(sql);//为占位符设置具体的值
pst.setObject(1, "%"+kw+"%");
pst.setObject(2, (cp-1)*ls);
pst.setObject(3, ls);//执行 sql 语句
ResultSet rst =pst.executeQuery();
Emp vo= null;while(rst.next()) {
vo= newEmp();//将结果集中的数据取得之后保存到 vo 对象中
vo.setEmpno(rst.getInt("empno"));
vo.setJob(rst.getString("job"));
vo.setSal(rst.getDouble("sal"));
vo.setComm(rst.getDouble("comm"));
vo.setDeptno(rst.getInt("deptno"));
vo.setHiredate(rst.getDate("hiredate"));
vo.setMgr(rst.getInt("mgr"));//将每个对象保存到 List 集合
list.add(vo);
}
}catch(SQLException e) {
e.printStackTrace();
}finally{
ConnectionUitl.close(conn);
}returnlist;
}
}