我正在构建一个dropwizard应用程序,我想在其中轻松地将mysql数据库的结果Map到java对象。我以前见过用对象Map器来实现这一点,所以我知道这是可以做到的,但不幸的是,我不记得在哪里或如何实现。
我创建了不可变类,并希望将值Map到它们。下面是一个不可变的示例:
@Value.Immutable
public interface Task {
int getTaskId();
int getCreatorId();
String getTitle();
String getDescription();
int getCreatedAt();
}
这是我迄今为止的刀:
public interface TasksDAO {
@SqlQuery("select task_id, title, description, creator_id, created_at from tasks")
Set<ImmutableTask> getAllTasks();
@SqlQuery("select task_id, title, description, creator_id, created_at from tasks where id = :id")
ImmutableTask getTaskById(@Bind("id") int id);
}
它适用于更简单的数据类型,如 String
或者 int
.
1条答案
按热度按时间qgelzfjb1#
为此,我为我的对象创建了一个简单的Map器。这就是Map器的外观:
(生成器是因为它是不可变的,但是可以用
new Task()
在其他情况下)然后我用mapper注解更新了dao,如下所示: