spring data jpa 查询自定义字段,转换为自定义实体(四种方法)

本文介绍了在Spring Boot环境下,使用Spring Data JPA进行数据库查询并转换为自定义JSON格式数据的四种方法,包括直接使用Model、在HQL中构造Map、返回List<Map<String, Object>>以及自定义Repository返回POJO。" 126061587,9990782,揭秘:少儿编程与机器人教育的误区与价值,"['人工智能', '编程教育', '少儿科技', '逻辑思维训练', '未来技能']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标:查询数据库中的字段,然后转换成 JSON 格式的数据,返回前台。
环境:idea 2016.3.4, jdk 1.8, mysql 5.6, spring-boot 1.5.2
背景:首先建立 entity 映射数据库(非专业 java 不知道这怎么说)

@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String userName;    // 账号
    private String password;    // 密码
    // getter setter 方法略过
}

然后建立与之对应的 model

public class UserModel implements Serializable {
    // 一些属性
}
这里我们分情况讨论

首先第一种情况:查询的字段与表中的字段全部对应(就是查表里所有的字段,但是使用 Model 作为接收对象)
这种情况比较简单,调用 Repository 提供的方法,返回一个 entity , 然后将 entity 的属性复制到 model 中。像这样

UserModel user = new UserModel();
User userEntity = new User();
// 一个工具类,具体使用方法请百度
BeanUtils.copyProperties(user, userEntity);

第二种情况:只查询指定的几个字段
现在我有张表,有字段如下:

@Entity
@Table(name = "user_info")
public class UserInfo {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String name = "用户";     // 昵称
    private String signature;         // 个性签名
    private String gender = "未知";   // 性别
    private String description;       // 个人说明
    private String avatar;            // 头像

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值