build.gradle配置依赖:
implementation 'cn.hutool:hutool-all:5.8.44'
runtimeOnly 'com.mysql:mysql-connector-j:8.4.0'
db.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
removeAbandoned=true
removeAbandonedTimeout=180
logAbandoned=false
timeBetweenEvictionRunsMillis = 60000
minEvictableIdleTimeMillis=300000
filters = stat
validationQuery = select 1
package 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 列表(推荐,更面向对象)
PageResult<AccountingRecord> 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;
}
}

3310

被折叠的 条评论
为什么被折叠?



