mysql实现模糊和分页_JDBC分页和模糊查询

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;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值