我有表event和message,它们具有一对一的关系并由类表示:
public class Event {
private Long id;
private Message message;
}
public class Message {
private Long id;
}
并且有两个映射器:EventMapper和MessageMapper:
public interface EventMapper {
@Select("SELECT * FROM event WHERE date BETWEEN #{from} AND #{to}")
@Results({
@Result(property = "id", column = "id"),
@Result(property = "message", column = "message_id",
javaType = Message.class, one = @One(select = "getMessage"))
})
List<Event> selectInInterval(@Param("from") Date from, @Param("to") Date to);
@Select("SELECT * FROM message WHERE id = #{id}")
Message getMessage(@Param("id") Long id);
}
public interface MessageMapper {
@Select("SELECT * FROM message WHERE id = #{id}")
@Results({
@Result(property = "id", column = "id"),
@Result(property = "text", column = "text")
})
List<Event> selectById(@Param("id") Long id);
}
EventMapper选择事件并通过注释映射它们,getMessage用于选择和映射事件的消息。但是我已经有相同的方法selectById在MessageMapper,所以是有可能重新使用它?
胡说叔叔
相关分类