博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分页查询 高级的分页查询 可以 模糊查询有源码的
阅读量:4977 次
发布时间:2019-06-12

本文共 3894 字,大约阅读时间需要 12 分钟。

一下 技术 来自我跟我的朋友 大神25号  超牛的 大神

下面创建三个工具类 一个实体类 来调用他 。。也可以自己创建数据库 通过查询 可以的

package org.lange.page.base;

import java.util.ArrayList;
import java.util.List;

import org.apache.catalina.security.SecurityUtil;

public class BasePageSO {

/**
* 当前页码
*/
private int pageNumber = 1;
/**
* 每页记录数 page size
*/
private int objectsPerPage = 50;
public BasePageSO() {
}
public int getPageNumber() {
return pageNumber;
}
public void setPageNumber(int pageNumber) {
if(pageNumber <= 0){
pageNumber = 1;
}
this.pageNumber = pageNumber;
}
public int getObjectsPerPage() {
return objectsPerPage;
}
public void setObjectsPerPage(int objectsPerPage) {
this.objectsPerPage = objectsPerPage;
}
public Integer getOffset(){
return (getPageNumber() - 1) * getObjectsPerPage();
}
public Integer getLimit(){
return getObjectsPerPage();

}

}

 以上 是 penbean 的 类

package org.lange.page.entity;

import org.lange.page.base.BasePageSO;

public class Dome1 extends BasePageSO{

private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
private int age;

}

以上的是 dome1 类

package org.lange.page.javabean;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.management.RuntimeErrorException;

import org.lange.page.entity.Dome1;

public class Dome2

{

private String url ="jdbc:mysql://localhost:3306/day15";
private String user="root";
private String password="root";

private int pageNumber;

private int numPerPage;
private String name;
private Long age;

public Dome2(int pageNumber, int numPerPage, String name, Long age) {

super();
this.pageNumber = pageNumber;
this.numPerPage = numPerPage;
this.name = name;
this.age = age;
}

public void queryByPage()

{ //驱动注册 程序
java.sql.Statement stmt = null;
Connection conn = null;
try {
//1:驱动注册程序
Class.forName("com.mysql.jdbc.Driver");
//获取链接对象
conn=DriverManager.getConnection(url, user, password);
//3:创建一个statement
stmt= conn.createStatement();
//4:创建sql语句
// String sql ="CREATE TABLE along(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),gender VARCHAR(2))";
//5:发送sql语句 得到sql语句 返回结果 返回int值
// int count = stmt.executeUpdate(sql);
//6:输出 sql 语句
// System.out.println("结果"+count+"行");
//7:不能让他一直 链接呀 那服务器内存不崩溃了么:所以要关闭它i
Dome1 d = new Dome1();
d.setPageNumber(pageNumber);
d.setObjectsPerPage(numPerPage);
int offset = d.getOffset();
int limit = d.getLimit();
String sql = "select * from chaxun where 1=1";
if(name !=null && name.length() != 0)
sql += " and name like '%" + name + "%'";
if(age != null)
sql += "and age = " + age;
sql += " limit " + offset + "," + limit;
String sqlCount = "select count(*) from chaxun where 1 = 1";
if(name !=null && name.length() != 0)
sqlCount += " and name like '%" + name + "%'";
if(age != null)
sqlCount += "and age = " + age;
System.out.println(sql);
ResultSet rs = stmt.executeQuery(sql);//
while (rs.next()) {
System.out
.println(rs.getString(1) + "\t" + rs.getString(2));//
}

} catch (Error e) {
e.printStackTrace();
throw new RuntimeErrorException(e);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
if(stmt!=null)
try {
stmt.close();
} catch (Error e) {
e.printStackTrace();
throw new RuntimeErrorException(e);
} catch (SQLException e) {
e.printStackTrace();
}
if(conn !=null)
try {
conn.close();
} catch (Error e) {
e.printStackTrace();
throw new RuntimeErrorException(e);
} catch (SQLException e) {
e.printStackTrace();
}
}
}

以上的dome2 类 常用的工具类 用来 连 数据库的

package org.lange.page.test;

import org.junit.Test;
import org.lange.page.javabean.Dome2;

public class TestPage {

@Test

public void pageTest() {
Dome2 d = new Dome2(0,0,"李",null);
d.queryByPage();
}

 以上 是 实体类 调用上面三个方法的 

大哥 说jsp  有点难搞  就没搞  回头不上 但是 这个 直接 复制 粘贴 用就行了

转载于:https://www.cnblogs.com/w888/p/5252448.html

你可能感兴趣的文章
CSS自学笔记(14):CSS3动画效果
查看>>
项目应用1
查看>>
图片延迟加载的实现
查看>>
解密个推持续集成
查看>>
基本SCTP套接字编程常用函数
查看>>
C 编译程序步骤
查看>>
页面抓取匹配时,万恶的\r,\n,\t 要先替换掉为空,出现匹配有问题,都是这个引起的...
查看>>
利用Node.js调用Elasticsearch
查看>>
构造函数
查看>>
LeetCode N-Queens
查看>>
jstat 命令
查看>>
leetcode[155]Min Stack
查看>>
《代码不朽:编写可维护软件的10大要则(C#版)》读后感
查看>>
04、我的.net Core的学习 - 网页版Hello World
查看>>
分块学习
查看>>
[Git] 005 初识 Git 与 GitHub 之分支
查看>>
【自定义异常】
查看>>
pip install 后 importError no module named "*"
查看>>
springmvc跳转方式
查看>>
IOS 第三方管理库管理 CocoaPods
查看>>