mybatis注解开发中,@One简单案例

场景:
查询媒体信息(城市,媒体名称,所在媒体点位区域(station)),先从总表中查到了其外键id,接着使用@One关联查询到所在区域

@Select("SELECT media_id,city,name,media_type,XX,XX from label_media_all_auto")
@Results({
            @Result(column = "X_X", property = "XX", jdbcType = JdbcType.VARCHAR),
            @Result(property = "station",column = "{media_id = media_id,media_type = media_type}",one = @One(select = "getStation")),
    })
    List<OrderDetailsVO> listLabelMediaAll();
     /**
     * 根据media_id查询该站点所在的城市的区域
     * 不同的media_type则去不同的表使用media_id去查询
     * @return
     */
    @Select({"<script>",
            "<if test='media_type.contains(\"交通枢纽媒体\")'>select district from media_traffic_info where id = #{media_id}</if>",
            "<if test='media_type.contains(\"楼宇媒体\")'>select district from media_building_info where id = #{media_id}</if>",
            "<if test='media_type.contains(\"核心商圈媒体\")'>select district from media_corebiz_info where id = #{media_id}</if>",
            "<if test='media_type.contains(\"全国地标媒体\")'>select district from media_landmark_info where id = #{media_id}</if>",
            "<if test='media_type.contains(\"全国百强县镇媒体\")'>select town from media_town_wall_info where id = #{media_id}</if>",
            "</script>"})
    String  getStation(@Param("media_id") Integer media_id,@Param("media_type") String media_type);

参照
SpringBoot MyBatis注解版 高级总结(一) 一对一/一对多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值