java本机查询映射结构
我使用原生查询,得到一个元组,其中包含一组登录名、电子邮件、密码和注册日期。 我还创建了一个具有这些属性的类(这不是一个实体,我不需要它)。 问题:如何使用mapstruct(DTO)获得这个类
@Query("SELECT * FROM users .......", nativeQuery = true)
List<Tuple> getInfo();
@Data
public class UserPro {
String login;
String email;
String pass;
Date regDate;
}
# 1 楼答案
你就快到了,但你有一些误解的概念。如果我明白你的要求
“getInfo”查询必须获取从查询中收到的每个“用户”。它接收到的所有信息都被保存到一个“Tuple”列表中,我想Tuple是一个模型或dto。如果您想保存从该查询中收到的内容,您必须创建一个模型,而不是dto,您可以将其称为“用户”
DTO是用来处理与Http请求相关的数据的类,而不是查询。 模型是用来处理与数据库相关的数据的类,包括数据库查询
在“用户”模型中,必须实例化从数据库中获得的每一列(确保将@column注释变量命名为数据库中每一列的名称相同,并为它们提供与数据库中相同的正确数据类型)
请记住,每个用户都有一个唯一的标识符,它不必称为ID,但您必须知道该唯一标识符是谁
实例化每个变量后,必须实例化getter和setter,以及实例化每个变量的构造函数
例如: