黑马旅游网学习笔记之旅游线路详情(八)

概述

(一)需求分析
(二)后台代码
(三)前台代码

(一)需求分析

黑马旅游网学习笔记之旅游线路详情(八)_第1张图片
黑马旅游网学习笔记之旅游线路详情(八)_第2张图片
再来看看数据库的关系
这里使用SQLyog能够清晰看到一对多的关系
黑马旅游网学习笔记之旅游线路详情(八)_第3张图片

(二)后台代码

RouteServlet:

   /**
     * 根据id查询一个旅游线路的详细信息
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public void findOne(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.接受id
        String rid = request.getParameter("rid");
        //2.调用service查询route对象
        Route route = routeService.findOne(rid);
        //3.转为json写回客户端
        writeValue(route, response);
    }

RouteServiceImpl:

    /**
     * 根据id查询
     *
     * @param rid
     * @return
     */
    @Override
    public Route findOne(String rid) {
        //1.根据rid去route表中查询route对象
        Route route = routeDao.findOne(Integer.parseInt(rid));
        //2.根据routed的rid 查询图片集合信息
        List<RouteImg> routeImgList = routeImgDao.findByRid(Integer.parseInt(rid));
        //3.将集合设置到route对象中
        route.setRouteImgList(routeImgList);
        //4.根据route的sid查询卖家信息
        Seller seller = sellerDao.findById(route.getSid());
        route.setSeller(seller);
        return route;
    }

RouteDaoImpl:

    /**
     * 根据id查询
     *
     * @param rid
     * @return
     */
    @Override
    public Route findOne(int rid) {
        String sql = "select * from tab_route where rid = ?";
        return template.queryForObject(sql, new BeanPropertyRowMapper<Route>(Route.class), rid);
    }

RouteImgDaoImpl:

    @Override
    public List<RouteImg> findByRid(int rid) {
        String sql = "select * from tab_route_img where rid = ?";
        return template.query(sql, new BeanPropertyRowMapper<RouteImg>(RouteImg.class), rid);
    }

SellerDaoImpl:

    /**
     * 根据id查询
     *
     * @param sid
     * @return
     */
    @Override
    public Seller findById(int sid) {
        String sql = "select * from tab_seller where sid = ?";
        Seller seller = template.queryForObject(sql, new BeanPropertyRowMapper<Seller>(Seller.class), sid);
        return seller;
    }

效果:
黑马旅游网学习笔记之旅游线路详情(八)_第4张图片

(三)前台代码

前台代码略

你可能感兴趣的:(黑马旅游网)