NutzCN Logo
问答 如何将查询的结果直接映射为子定义的dto
发布于 3330天前 作者 qq_e7da0606 2409 次浏览 复制 上一个帖子 下一个帖子
标签: dao

数据库映射model:

	@Table("users")
	public class User{
		@Column
		private String name;
		@Column("teacher_id")
		private String teacherId;
	}

自定义dto:

	public class UserDTO extends User{
		private String teacherName
	}

查询语句,自定义sql:
select a.*,b.name as teacher_name from users a left join teacher b on a.teacher_id =b.id

查询:

	Sql sql = Sqls.create("...");
	....

这里的查询如何映射到UserDTO这个pojo类了

3 回复

先作为Record取出, 然后调用的Record类的toEntity方法

Sql sql = Sqls.queryRecord("select a.*,b.name as teacher_name from users a left join teacher b on a.teacher_id =b.id");
dao.execute(sql);
Entity<User> en = dao.getEntity(User.class);
for (Record re : sql.getList(Record.class)) {
   User user = re.toEntity(en, "a.");
   String teacherName = re.getString("b.name");
}

这个貌似还是不是我想要的,我是想能否直接映射到UserDTO这个类,这个类是没有注解表结构的。
我希望我查询的数据字段直接映射对应到UserDTO的驼峰字段,难道要一个个的set进去,如果字段太多岂不是悲剧了

@qq_e7da0606 自行封装

来自炫酷的 NutzCN

添加回复
请先登陆
回到顶部