亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mybatis-Plus多表關聯查詢的操作例子

發布時間:2023-08-22 15:27:26 來源:億速云 閱讀:165 作者:栢白 欄目:開發技術

本篇文章和大家了解一下Mybatis-Plus多表關聯查詢的操作例子。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

項目的目錄結構:

有以下四個包:

1、 controller控制層

2、dao層, 項目的目錄結構: 有以下四個包:

Mybatis-Plus多表關聯查詢的操作例子

1、 controller控制層

2、dao層,接口

3、pojo,shiulilei

4、service服務層

有表結構如下:

部門表:dept

Mybatis-Plus多表關聯查詢的操作例子

員工表:emp

Mybatis-Plus多表關聯查詢的操作例子

假設要查詢每個員工所屬的部門(或位置等信息),就需要將兩張表連接起來,使用SQL語句很簡單(select * from emp,dept where emp.deptno=dept.deptno),但是在Java程序中怎么寫就比較復雜了。

 首先配置pom.xml配置文件

1.pojo包中有dept和emp兩個實例類

1)dept

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("dept")
public class Dept implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId
    private Integer deptno;
    private String dname;
    private String loc;
}

 2)emp

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("emp")
public class Emp implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId("empno")
    private Integer empno;
    private String ename;
    private String job;
    private Integer mgr;
    private LocalDateTime hiredate;
    private BigDecimal sal;
    private BigDecimal comm;
    private Integer deptno;
    private Dept dept;//多表關聯需要查詢的數據
}

 在Emp類中多了一個Dept對象,這個對象包含了每個員工對應部門的信息。

2.在Emp的mapper映射文件(.xml)中的mapper之間添加如下代碼

<mapper namespace="com.nb.spring_boot.api.dao.IEmpDao">
    <resultMap id="empMapper" type="com.nb.spring_boot.api.pojo.Emp">
        <association property="dept" column="deptno" select="com.nb.spring_boot.api.dao.IDeptDao.selectById"/>
    </resultMap>
    <select id="queryEmps" resultMap="empMapper">
        select * from emp
    </select>
</mapper>

resultMap里的id屬性(empMapper)里面可以隨便寫一個變量名,可以不叫empMapper,select里的selectById在IDeptDao接口中要有該方法

Dept selectById(Integer deptno);

3.在Dept的mapper映射文件(.xml)中的mapper之間添加如下代碼

<select id="selectById" resultType="com.nb.spring_boot.api.pojo.Dept">
        select * from dept where deptno=#{deptno}
</select>

4.在IDeptDao接口中代碼如下

public interface IDeptDao extends BaseMapper<Dept> {
    Dept selectById(Integer deptno);
}

5.Emp的dao接口中和

public interface IEmpDao extends BaseMapper<Emp> {
    IPage<Emp> queryEmps(IPage<Emp> page,@Param(Constants.WRAPPER) Wrapper<Emp> wrapper);
}

6.IEmpService接口中

public interface IEmpService extends IService<Emp> {
    IPage<Emp> queryEmps(IPage<Emp> result, QueryWrapper<Emp> wrapper);
}

7.EmpserviceIml類中

public class EmpServiceImpl extends ServiceImpl<IEmpDao, Emp> implements IEmpService {
    @Autowired
    IEmpDao empDao;//這里報紅沒事
    @Override
    public IPage<Emp> queryEmps(IPage<Emp> result, QueryWrapper<Emp> wrapper) {
        result = empDao.queryEmps(result, wrapper);
        return result;
    }
}

8.接下來就是你自己在controller層寫方法

示例:

@RequestMapping("qemps")
IPage<Emp> queryEmps(@RequestParam(defaultValue = "1") int page,
                     @RequestParam(defaultValue = "5") int  limit){
    IPage<Emp> result = new Page<>(page, limit);
    QueryWrapper<Emp> wrapper = new QueryWrapper<>();
    wrapper.gt("sal", 1000);//查詢條件,工資大于1000,其他的可以研究一下,比如eq,le,like
    return empService.queryEmps(result, wrapper);
}

以上就是多表關聯查詢了~~~

以上就是Mybatis-Plus多表關聯查詢的操作例子的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大庆市| 杨浦区| 抚顺县| 昭觉县| 顺昌县| 鄂州市| 新泰市| 塔河县| 北川| 保靖县| 栾川县| 安泽县| 林芝县| 霞浦县| 重庆市| 惠东县| 谢通门县| 武邑县| 华容县| 天等县| 太保市| 虹口区| 永新县| 渑池县| 庆云县| 菏泽市| 无为县| 和林格尔县| 新源县| 丹巴县| 玉山县| 淮南市| 澳门| 洪泽县| 萝北县| 搜索| 凤凰县| 顺义区| 电白县| 宽甸| 安康市|