首先建立Message实体类,代码略
DAO层代码
@Mapper
public interface MessageMapper {
//查询当前用户的会话列表,针对每个会话只返回一条最新的私信
List<Message> selectConversations(int userId, int offset, int limit);
//查询当前用户会话数量
int selectConversationCount(int userId);
//查询某个会话包含的私信列表
List<Message> selectLetters(String conversationId, int offset, int limit);
//查询某个会话包含的私信数量
int selectLetterCount(String conversationId);
//查询未读私信的数量
int selectLetterUnreadCount(int userId, String conversationId);
}
配置对应的mapper.xml文件
对DAO层,以及mapper中的代码进行测试,在MapperTests类中添加以下代码进行测试
@Test
public void testSelectLetters(){
List<Message> list= messageMapper.selectConversations(111, 0, 20);
for(Message message : list){
System.out.println(message);
}
int count =messageMapper.selectConversationCount(111);
System.out.println(count);
list = messageMapper.selectLetters("111_112", 0, 20);
for(Message message : list){
System.out.println(message.getContent());
}
count = messageMapper.selectLetterCount("111_112");
System.o