maven项目中多表查询时controller获取以对象作为属性的返回值

多表查询涉及多个实体类的返回值如何Controller获取

实体类

订单表--商品表
public class Orders {

    private Integer orderId;
    private Integer userId;
    private Integer goodsId;
    private Integer payId;
    private Integer gsId;
    private Integer orderNum;
    private Integer orderMoney;
    private String orderTime;
    private String distribution;

    private User user;
    private Goods goods;
    private Pay pay;
    private GoodsState goodsState;
    


public class Goods {

    private Integer goodsId;
    private String goodsName;
    private String goodsImg;
    private Float goodsPrice;
    private Integer goodsResidue;
    private String goodsType;
    private Integer goodsSales;
    private Integer goodsSort;
    private Integer goodsState;
    private String goodsPoint;
    private Integer goodsSpecifications;
    private Float goodsWeight;
    private String goodsInfo;
    private String createTime;

在订单实体类中以Goods goods 作为对象属性,可以用来接收链表查询时的返回值

Controller

public class OrdersController {

    @Autowired
    private GoodsService goodsService;
    @Autowired
    private OrdersService ordersService;
    @Autowired
    private PayService payService;

    @RequestMapping("orders")
    public String showOrders(){

        //查询订单
        List<Orders> ordersList = ordersService.selectAllOrders();
        //System.out.println(ordersList.get(0).getGoods().getGoodsImg());
        for (Orders orders:ordersList){
            System.out.println(orders.getGoods().getGoodsImg());//循环输出已经获取的内容
            //System.out.println(ordersList.get(i));
        }

OrdersService

public interface OrdersService {
    List<Orders> selectAllOrders();
}

OrdersServiceImpl

@Service
public class OrdersServiceImpl implements OrdersService {
    @Autowired
    private OrdersMapper ordersMapper;
    @Override
    public List<Orders> selectAllOrders() {
        return ordersMapper.selectAllOrders();
    }
}

OrdersMapper

@Repository
public interface OrdersMapper {
    List<Orders> selectAllOrders();
}

.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.nnxy.fireflymall.mapper.OrdersMapper">

    <resultMap id="orderss" type="cn.nnxy.fireflymall.domain.Orders">
        <id property="orderId" column="order_id"/>
        <result property="goodsId" column="goods_id"/>
        <association property="goods" column="goods_id" javaType="cn.nnxy.fireflymall.domain.Goods"
                     select="cn.nnxy.fireflymall.mapper.GoodsMapper.selectGoodsById">
这里select找到Goods获取数据库的方法(在下面)将查询的结果goods_id作为条件用来重新查询
        </association>

    </resultMap>
    <select id="selectAllOrders" resultMap="orderss">
                select goods.goods_id,goods.goods_img
                from orders
                inner join goods on orders.goods_id=goods.goods_id
    </select>
</mapper>

GoodsMapper

接收.xml传来的goods_id作为查询条件
List<Goods> selectFormGoods(Integer goodsId);

最后就是controller获取到了想要的结果。
如果对你有帮助,记得给个关注点个赞!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值