mybatis Plus 多表聯(lián)合查詢的實(shí)現(xiàn)示例
本文主要介紹了mybatis Plus 多表聯(lián)合查詢,分享給大家,具體如下:
//實(shí)體類package com.sk.skkill.entity;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;import java.io.Serializable;import java.util.Date;import java.util.List;@TableName('orders')@Datapublic class Order implements Serializable{ public static final long serialVersionUID =1L; private String id; private String orderName; private Date createTime; private Date updateTime; private String userID; @TableField(exist = false) private List<Users> listUsers; public Order(){ } public Order(String id, String orderName) { this.id = id; this.orderName = orderName; }}
//dao層package com.sk.skkill.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.sk.skkill.entity.Order;import com.sun.javafx.collections.MappingChange;import org.apache.ibatis.annotations.Select;import java.util.List;import java.util.Map;public interface OrderMapper extends BaseMapper<Order>{List<Order> selectOrder();int addOrder(Order order);
//多表聯(lián)合查詢 按條件orderID@Select('select t1.*,t2.user_name,t2.nick_name from orders t1 LEFT JOIN users t2 ON t1.user_id =t2.id WHERE t1.user_id= #{id}') List<Map<String,Object>> orderUserList(Page<Map<String,Object>> page,String id);}
//service層package com.sk.skkill.service;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.baomidou.mybatisplus.extension.service.IService;import com.sk.skkill.entity.Order;import java.util.List;import java.util.Map;public interface OrderService extends IService<Order>{ List<Order> selectOrder(); int addOrder(Order order);// List<Map<String,Object>> orderUserList(Page<Map<String,Object>> page, String id); Page<Map<String,Object>> selectListPage(int current,int number,String id);}
//serviceImpl層package com.sk.skkill.service.impl;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.sk.skkill.entity.Order;import com.sk.skkill.mapper.OrderMapper;import com.sk.skkill.service.OrderService;import org.springframework.stereotype.Service;import java.util.List;import java.util.Map;@Servicepublic class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService{ @Override public List<Order> selectOrder() { return baseMapper.selectList(null); } @Override public int addOrder(Order order) { return baseMapper.insert(order); } @Override public Page<Map<String, Object>> selectListPage(int current, int number,String id) { //新建分頁(yè) Page<Map<String,Object>> page =new Page<Map<String,Object>>(current,number); //返回結(jié)果 return page.setRecords(this.baseMapper.orderUserList(page,id)); }}
//controller層 package com.sk.skkill.controller;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.sk.skkill.entity.Order;import com.sk.skkill.service.impl.OrderServiceImpl;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.util.List;import java.util.Map;@RestController@RequestMapping('order')public class OrderController{ @Autowired private OrderServiceImpl service; @RequestMapping('selectOrder') public List<Order> selectOrder() { return service.selectOrder(); } @RequestMapping('addOrder') public int addOrder(Order order){ order=new Order('FGGG','蒙牛MILK'); return service.addOrder(order); } @RequestMapping('selectListPage') public List<Map<String,Object>> selectListPage(String id) { Page<Map<String, Object>> page = service.selectListPage(1, 2,id); return page.getRecords(); }}
到此這篇關(guān)于mybatis Plus 多表聯(lián)合查詢的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)mybatis Plus 多表聯(lián)合查詢內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. db2v8的pdf文檔資料2. MySQL之高可用集群部署及故障切換實(shí)現(xiàn)3. 不要忽視Oracle 10g STATSPACK新功能4. DB2 數(shù)據(jù)庫(kù)應(yīng)用中使用受信任上下文(1)5. Oracle一行拆分為多行方法實(shí)例6. IDEA找不到Database的完美解決方法7. 如何遠(yuǎn)程調(diào)用ACCESS數(shù)據(jù)庫(kù)8. 在DB2中如何實(shí)現(xiàn)Oracle的相關(guān)功能(一)9. MySQL基本調(diào)度策略淺析10. oracle基本概念和術(shù)語(yǔ)
