
和某一些人的对话。
会话中包含了多条往来的消息

在Mapper中对私信列表的方法进行声明


desc是到序
第一个方法的实现

第二个方法查询数量,返回整数,类型为整型。
as是起别名
统计最大数量

第三个方法查询某个会话下所包含的数量。所以拼接上会话和分页。
第四个方法查询数量,返回的类型时整数。

第五个查询未读的数量。
通过if判断拼接

对编写的方法进行测试
注入
查询userid为111,然后进行遍历输出,结果有14个,所有人和111通讯。
第二个是数量
第三个是查询某一个会话之下的私信,打印
第四个查询会话下的数量,打印
最后一个是查询未读的数量

经测试代码没问题,下面进行业务层的开发,开发业务组件MessageService,@Service注解
这几个业务很见到通过调用Mapper实现即可,中间无处理,所以直接定义五个方法,调用Mapper实现即可,首先注入Mapper ,即MessageMapper。
第一个方法查询会话,
剩余几个业务

表现层的开发,需要两个功能,一个是会话列表,一个是私信详情,都是分页显示数据。
创建表现层的组件MessageController,添加@Controller注解。
声明一个方法处理私信列表,先声明访问路径,请求方式GET,传数据需要用到Model,需要分页需要Page,为了方法的实现需要注入Service,另外还需要注入HostHolder,当前用于需要它获取。

设置分页的信息,分页路径,会有多少条数据,需要查询,userId可以通过HostHolder获得,因为后面还会用到

查询会话列表,会的大一个集合,集合名为ConversationList,
声明一个集合,将数据放入到Map中,遍历列表构造Map,将信息,信息数量,未读数量,还需要显示当前用户与之相对的,需要找到目标,判断id是否等于消息的发起者目标就是接受者。否则反之,得到目标id就得到了对象,将对象放入到Map中。最终,map需要放入到conversation中。

最后数据放入到Model中
查询未读消息数量,最后返回模板的路径







分页通过复用实现
在MessageController中添加方法处理请求,声明方法的访问路径,因为是点中一个会话,查看会话包含的详细,所以需要传入一个会话的id,所以在路径中传入会话的id因为是一次查询所以请求方式我GET,
获取路径Id,显示分页

获取私信列表并把数据放入到Model中。补充from相关的数据
将Map放入集合中,将集合发送给模板

还要来自。。。。。。私信,即当前用户与之对话的名字

私信的目标



letter-detail.html





返回当前路径

