5.想实现分页,请补全如下代码 /**分页查询 pageNum:当前页 pageSize:每页显示记录数量 */ public PageInfo<User> findAll(Integer pageNum,Integer pageSize){ List<User> userList = userMapper.select(); return pageInfo; }
时间: 2024-04-19 09:29:47 浏览: 84
/**分页查询 pageNum:当前页 pageSize:每页显示记录数量
*/
public PageInfo<User> findAll(Integer pageNum,Integer pageSize){
// 计算分页起始索引
int startIndex = (pageNum - 1) * pageSize;
// 查询总记录数
int total = userMapper.count();
// 查询当前页数据
List<User> userList = userMapper.select(startIndex, pageSize);
// 创建 PageInfo 对象并设置相关属性
PageInfo<User> pageInfo = new PageInfo<>();
pageInfo.setList(userList);
pageInfo.setPageNum(pageNum);
pageInfo.setPageSize(pageSize);
pageInfo.setTotal(total);
int totalPages = total % pageSize == 0 ? total / pageSize : total / pageSize + 1;
pageInfo.setTotalPages(totalPages);
return pageInfo;
}
相关问题
Oracle分页查询emp表,已知:pageSize=6,查询第2页。(用java代码实现)
假设emp表结构如下:
| emp_id | emp_name | emp_salary |
| ------ | -------- | ---------- |
| 1 | Tom | 5000 |
| 2 | Jack | 6000 |
| 3 | Lucy | 7000 |
| 4 | Mike | 8000 |
| 5 | Mary | 9000 |
| 6 | John | 10000 |
| 7 | Anna | 11000 |
| 8 | Bob | 12000 |
| 9 | Kate | 13000 |
| 10 | David | 14000 |
Java代码实现:
```java
import java.sql.*;
public class EmpQuery {
public static void main(String[] args) throws SQLException {
int pageSize = 6; // 每页显示记录数
int pageNum = 2; // 查询第2页
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 加载数据库驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
// 获取数据库连接
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "username", "password");
// 构造SQL语句
String sql = "SELECT * FROM (SELECT ROWNUM AS rn, emp_id, emp_name, emp_salary FROM emp) WHERE rn > ? AND rn <= ?";
// 创建PreparedStatement对象
pstmt = conn.prepareStatement(sql);
// 设置参数
int start = (pageNum - 1) * pageSize;
pstmt.setInt(1, start);
pstmt.setInt(2, start + pageSize);
// 执行查询,并返回结果集
rs = pstmt.executeQuery();
// 遍历结果集,输出查询结果
while (rs.next()) {
int empId = rs.getInt("emp_id");
String empName = rs.getString("emp_name");
double empSalary = rs.getDouble("emp_salary");
System.out.println(empId + "\t" + empName + "\t" + empSalary);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 释放资源
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
}
}
}
```
输出结果:
```
7 Anna 11000.0
8 Bob 12000.0
9 Kate 13000.0
10 David 14000.0
```
写出 如下 GET http://121.36.111.13:8021/getList2?pageNum=1&pageSize=10000&workOrderId=20 收到的JSON 数据 转换为C# 类
假设服务器返回的数据结构是一个包含分页信息、工作订单列表的简单JSON,我们可以将其转换为一个C#类。这里我们创建一个名为`WorkOrderListResponse`的类,其中包含`PageInfo`(分页信息)和`WorkOrders`(工作订单列表)两个部分:
```csharp
public class PageInfo
{
public int pageNum { get; set; }
public int pageSize { get; set; }
}
public class WorkOrder
{
public int id { get; set; }
public string title { get; set; }
// 其他工作订单属性...
}
public class GetListResponse
{
public PageInfo PageInfo { get; set; }
public List<WorkOrder> WorkOrders { get; set; }
public int workOrderId { get; set; } // 注意这里的workOrderId可能是从URL传入并保留的原始值,如果不是,则应去掉
}
```
然后你可以通过如下的方式从JSON字符串转换到`GetListResponse`对象:
```csharp
string jsonString = "<your JSON data here>";
GetListResponse response = JsonConvert.DeserializeObject<GetListResponse>(jsonString);
```
阅读全文