使用hutool db 分页查询数据

发布时间:2026/7/10 2:15:45

使用hutool db 分页查询数据 build.gradle配置依赖implementation cn.hutool:hutool-all:5.8.44 runtimeOnly com.mysql:mysql-connector-j:8.4.0db.setting:showSql true formatSql false showParams true sqlLevel debug # druid config [LCNEW] driver com.mysql.cj.jdbc.Driver url jdbc:mysql://127.0.0.1:3306/test user test pass test initialSize 1 maxActive 20 maxWait 60000 poolPreparedStatements true testOnBorrow false testOnReturn false testWhileIdle true removeAbandonedtrue removeAbandonedTimeout180 logAbandonedfalse timeBetweenEvictionRunsMillis 60000 minEvictableIdleTimeMillis300000 filters stat validationQuery select 1package com.soft.test; import java.sql.SQLException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.soft.db.PoolName; import com.soft.po.AccountingRecord; import cn.hutool.db.Db; import cn.hutool.db.Page; import cn.hutool.db.PageResult; public class TestPage { private static final Logger log LoggerFactory.getLogger(TestPage.class); public static void main(String[] args) { pageQuery(); } public static void pageQuery() { // 构建分页参数Page(页码, 每页条数) Page page new Page(0, 10); // 第1页每页10条 // 查询返回 Bean 列表推荐更面向对象 PageResultAccountingRecord res; try { res Db.use(PoolName.MYSQL).page(SELECT * FROM accounting_record WHERE id 100, page, AccountingRecord.class); // 处理分页结果 log.info(总记录数 res.getTotal()); log.info(总页数 res.getTotalPage()); res.forEach(s - { log.info(数据{}, s); }); } catch (SQLException e) { log.error(, e); } } }package com.soft.po; import java.math.BigDecimal; import java.util.Date; import com.soft.util.JsonTool; import cn.hutool.json.JSONUtil; /** * 对应数据库表accounting_record */ public class AccountingRecord { /** * 主键ID */ private Long id; /** * 用户名 */ private String userName; /** * 业务类型 */ private Integer type; /** * 处理时间 */ private Date hTime; // get set方法。。。 Override public String toString() { return JSONUtil.toJsonStr(this, JsonTool.cfg()); } }package com.soft.util; import cn.hutool.json.JSONConfig; public class JsonTool { public static JSONConfig cfg() { // 1. 创建JSON配置指定Date字段的序列化格式 JSONConfig jsonConfig new JSONConfig(); // 关键配置Date类型转为yyyy-MM-dd HH:mm:ss字符串 jsonConfig.setDateFormat(yyyy-MM-dd HH:mm:ss); // 可选关闭空值序列化让输出更简洁根据需求选择 // jsonConfig.setIgnoreNullValue(true); return jsonConfig; } }

相关新闻