传智健康第六章

1.套餐列表的展示

1.1页面的展示

并没有在页面显示数据

解决:

1.页面修改 成自己的七牛云连接

<img class="img-object f-left" :src="'http://qu4e446e6.hd-bkt.clouddn.com/'+setmeal.img" alt="">

2.在Controller里检查发现

没有给属性注入值 

  @Reference
    private SetmealService setmealService;

注 

com.alibaba.dubbo.config.annotation.Reference;

功能完成:

 

 

2.套餐详情的展示

需求:

根据套餐Id查询套餐的详情(套餐基本信息,套餐对应的检查组信息,检查组对应的检查项信息)

使用到:Mybatis的关联查询

 

逻辑:1.根据页面传过的id查询套餐信息,之后将结果封装成 map结果集 findByIdResultMap

 <!--根据套餐Id查询套餐的详情(套餐基本信息,套餐对应的检查组信息,检查组对应的检查项信息)-->
    <select id="findById" parameterType="int" resultMap="findByIdResultMap">
        select * from t_setmeal where id=#{id}
    </select>

2.设置 map结果集 ,实体类和属性一一对应,即数据库查询到column 对应到实体类property

 <!--实体类与表里的映射关系-->
    <resultMap id="baseResultMap" type="com.itheima.pojo.Setmeal">
        <id column="id" property="id"></id>
        <result column="name" property="name"/>
        <result column="code" property="code"/>
        <result column="helpCode" property="helpCode"/>
        <result column="sex" property="sex"/>
        <result column="age" property="age"/>
        <result column="price" property="price"/>
        <result column="remark" property="remark"/>
        <result column="attention" property="attention"/>
        <result column="img" property="img"/>
    </resultMap>

 

其中实体类里有对象集合checkGroups ,因此需要进一步映射新的map结果集,

findByIdResultMap继承了baseResultMap,同时,对属性:checkGroups进行映射 
baseResultMap里的id值没有直接对应property:checkGroups ,
而是作为参数传入到传入select 里进一步查询  检查组信息
 <!--继承上面的映射关系,进行关联查询-->
    <resultMap id="findByIdResultMap" type="com.itheima.pojo.Setmeal" extends="baseResultMap">
            <!--多对多映射,将结果集的id再做参数查询检查组的信息-->
        <collection property="checkGroups"
                    ofType="com.itheima.pojo.CheckGroup"
                    column="id"
                    select="com.itheima.dao.CheckGroupDao.findCheckGroupDaoById"
        ></collection>
    </resultMap>

3 .查询dao.CheckGroupDao.findCheckGroupDaoById的方法 ,

<!--根据套餐ID 查询检查组的详情。(根据检查组与套餐的关联表)-->
    <select id="findCheckGroupDaoById" parameterType="int" resultMap="findByIdResultMap">
        select * from t_checkgroup where id in 
        (select checkgroup_id from t_setmeal_checkgroup where setmeal_id=#{id})
    </select>

4.设置新的结果map,与套餐相似。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值