基于JavaWeb的旅游项目--详情功能




1、详情功能—界面展示

在这里插入图片描述

2、详情功能–后台代码

RouteServiceTest

@Test
    public void test03() throws JsonProcessingException {
   
        //业务,根据 路线的rid查找 路线的数据,商家的数据,分类的数据,收藏的数据
        RouteService routeService = new RouteService();
        int rid = 1;
        Route route = routeService.findRouteById(rid);
        System.out.println(route);
    }

需要返回的route对象内部包含 路线的数据,商家的数据,分类的数据,图片的数据

扩展Route实体类

    //分类数据
    private Category category;
    //商家数据
    private Seller  seller;
    //图片数据
    private List<RouteImg> imgList;

Seller.java

public class Seller {
   
    private int sid;//商家id
    private String sname;//商家名称
    private String consphone;//商家电话
    private String address;//商家地址
    }

RouteImg.java

public class RouteImg {
   
    private int rgid;//商品图片id
    private int rid;//旅游商品id
    private String bigPic;//详情商品大图
    private String smallPic;//详情商品小图
    }

RouteService

(1)通过分析,数据来自四个表,所以可以考虑2,或者3查询方案
(2)使用Mybatis其实核心 是开发者的sql能力。

# rid =1
# 路线表 tab_route
# 商家表 tab_seller
# 图片表 tab_route_img
# 分类表 tab_category
select * from tab_route r where r.rid =1 ;

select * 
from tab_route r,tab_seller s
where r.rid =1 
and r.sid=s.sid ;

# 方式1:内连接查询的话,因为出现重复的数据,放弃
select * 
from tab_route r,tab_seller s,tab_route_img i
where r.rid =1 
and r.sid=s.sid 
and r.rid = i.rid;

# 方式2:内连接查询的话,必须一对一 
# 一个路线属于一个商家, 一个路线属于一个分类
# 一个路线可以包含多个图片

select * 
from tab_route r,tab_seller s,tab_category c
where r.rid =1 
and r.sid=s.sid 
and r.cid = c.cid;

# 还差图片数据
select * from  tab_route_img i where i.rid=1;

#方式3: 详情数据来自四个表,拆成四个查询语句

select * from tab_route r where r.rid = 1; #路线
select * from tab_seller s where s.sid = 1; #商家数据
select * from  tab_route_img i where i.rid=1;#图片数据
select * from  tab_category c where c.cid =1;#分类数据 

    
  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值