牛客网项目11:帖子详情

这篇博客详细介绍了如何开发一个论坛帖子详情展示的功能。从数据层到页面,依次讲解了在DAO层添加查询方法,XML配置SQL语句,服务层实现查询服务,以及在控制器层处理页面跳转和数据传递。最终实现点击帖子ID即可完整显示帖子内容及发帖用户信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 大体思路

点击帖子,会打开一个链接,把帖子的内容显示完整。

按照正常的开发流程:数据层 - 服务层 - 页面。

2. 数据层

①在 dao.DiscussPostMapper类下添加增删改查方法:

selectDiscussPostById 根据主键查询帖子。

//根据主键查询帖子
DiscussPost selectDiscussPostById(int id);

②在 resources.mapper.discusspoat-mapper.xml 下添加上面Mapper对应的SQL语句

    <select id="selectDiscussPostById" resultType="DiscussPost">
        select <include refid="selectFields"></include>
        from discuss_post
        where id = #{id}
    </select>

3. 服务层

在service.DiscussPostService 添加方法:

    //根据ID查询帖子
    public DiscussPost findDiscussPostById(int id){
        return discussPostMapper.selectDiscussPostById(id);
    }

4. 页面

在controller.DiscussPostController 控制器类中添加控制器方法,用来处理点击帖子查看详情时的页面跳转。

    @RequestMapping(path = "/detail/{discussPostId}", method = RequestMethod.GET)
    public String getDiscussPost(@PathVariable("discussPostId") int discussPostId, Model model){
        //查询得到帖子
        DiscussPost post = discussPostService.findDiscussPostById(discussPostId);
        //将帖子传给模板
        model.addAttribute("post",post);
        //查询出发帖人
        User user = userService.findUserById(post.getUserId());
        model.addAttribute("user", user);

        return "/site/discuss-detail";
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值