跳到主要内容

2.5 结果映射

Bean 映射

自动映射规则

数据库字段Bean 属性说明
user_nameuserName下划线转驼峰
USER_NAMEuserName大写下划线转驼峰
usernameusername直接匹配

定义实体类

@Data
@TableName("sys_user") // 可选,默认驼峰转下划线
public class User {
private Long id; // 默认主键
private String name;
private Integer age;
private Integer isDeleted; // 存在即启用逻辑删除
private Date createTime;
}

注解说明

注解作用示例
@TableName指定表名@TableName("t_user")
@TableField指定字段名@TableField("email_addr")
@TableId指定主键@TableId

ResultMap(Map 结果)

查询结果也可以不映射到 Bean,直接使用 ResultMap

ResultMap result = DB.Table.select("user").eq("id", 1).queryOne();

// 基础取值
result.getStr("name");
result.getInt("age", 0);

// 深度取值(JSON 嵌套字段)
result.getStr("profile.address.city", "未知");
result.getList("orders", Order.class);

// 基础类型转换
result.getLong("id");
result.getDouble("score");
result.getDate("create_time");

返回值速查

方法返回说明
queryBean()T / null单条 Bean
queryOne()ResultMap / null单条 Map
queryBeanList()List<T>Bean 列表
queryList()List<ResultMap>Map 列表
count()long数量
queryBeanPage()Page<T>分页 Bean
queryPage()Page<ResultMap>分页 Map
queryOne(Class)指定类型指定类型单条
queryList(Class)List<T>指定类型列表
queryStr()String单个字符串
queryInt()Integer单个整数
queryLong()Long单个长整型