老师,关于赋值的问题

老师,关于赋值的问题

在学mybatis时那里的讲师说过开启了驼峰命名后只定义id属性就行了,其他的属性会自动赋值 ,但是我在这里这样搞,dubug时发现不得行,属性都没有赋值

<resultMap id="shopMap" type="Shop">
    <id column="shop_id" property="shopId"/>
    <association property="area" column="area_id" javaType="Area">
        <id column="area_id" property="areaId"/>
        <result property="areaName" column="area_name"/>
    </association>
    <association property="shopCategory" column="shop_category_id" javaType="ShopCategory">
        <id property="shopCategoryId" column="shop_category_id"/>
        <result property="shopCategoryName" column="shop_category_name"/>
    </association>
    <association property="owner" column="user_id" javaType="PersonInfo">
        <id property="userId" column="user_id"/>
        <result column="name" property="name"/>
    </association>
</resultMap>

<!--查询一个商店信息-->
<select id="queryByShopId" resultMap="shopMap" resultType="Long">
    select s.*,a.area_id,a.area_name,sc.shop_category_id,sc.shop_category_name
    from tb_shop as s,tb_area as a,tb_shop_category as sc
    where s.area_id=a.area_id and s.shop_category_id=sc.shop_category_id and shop_id=#{shopId}
</select>

查询结果:

http://img1.sycdn.imooc.com//climg/5e63121009bee9c904690357.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕酷酷 2020-03-07 18:52:14

同学你好,老师在这里的含义是指在这个案例中是进行1对多进行查询,这里是查询只需要将查询出来的t_goods表的id值进行映射实体类就可以了,因为之后只根据这个id进行查询t_goods_detail商品的详细信息,所以也就不需要编写其他的映射。

并且这里开启驼峰命名,并不是代表就可以直接进行数据库与实体类的映射了,真正的映射关系的是需要resultMap或者resultType进行配置映射关系的。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

提问者 慕少1344137 2020-03-07 18:25:29
好帮手慕酷酷 2020-03-07 15:42:04

同学你好,同学的理解有点偏差,这里使用resultMap进行返回结果集时,需要将所有数据库的属性与实体类的字段进行映射,否则将无法赋值哦~

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • 提问者 慕少1344137 #1
    老师我在回答里面截图了,在mybatis课程oneToMany里确实没写也可以啊
    2020-03-07 18:26:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师