mybatis plus 分頁 聯合查詢

2021-09-11 21:35:28 字數 1880 閱讀 1691

業務需要關聯多個表查詢, 並且返回內容不只是乙個表(還需要另外乙個表的部分字段), 並且需要實現分頁邏輯

本來看了下mybatis封裝的查詢方式, 沒看到怎麼進行多表聯合, 想著手寫實現聯合查詢並分頁, 後面經過同事提醒發現有更加優雅的方式

新建乙個vo, 整合原本的資料庫實體, 並填上需要新增加的字段

@data

@allargsconstructor

@noargsconstructor

public

class

permissionvo

extends

sysrole

"permissiondoctorrole"

type

="com.***.permissiondoctorvo"

>

column

="id"

property

="id"

/>

column

="permission"

property

="permission"

/>

column

="create_user"

property

="createuser"

/>

column

="create_time"

property

="createtime"

/>

column

="modify_user"

property

="modifyuser"

/>

column

="modify_time"

property

="modifytime"

/>

resultmap

>

"pagepermissiondoctor"

parametertype

="com.***.sysrole"

resultmap

="permissiondoctorrole"

>

正常的聯合查詢語句, 額外的字段通過別名和上面的對映對應

select

>

注意: 入參page物件不可少,mybatis-plus根據這個進行分頁邏輯的組裝

list

pagepermissiondoctor

(page page,

@param

("hmoid"

) string hmoid,

@param

("resourceid"

) string resourceid)

;

查詢後通過page.setrecords()方法將查詢結果封裝到分頁物件中

public pagesupport

pagepermissiondoctorinhmo

(string hmoid, long pageno, long pagesize)

return

newpagesupport

(page.

setrecords

pagepermissiondoctor

(page, hmoid, resouceid)))

;}

定義返回物件

編寫xml對映和查詢方法

將查詢結果組裝到page

MyBatis Plus 分頁 排序聯合使用

其實兩者聯合使用非常簡單,只需要在使用分頁外掛程式的基礎上使用其提供的orderbydesc orderbyasc就能完美融合。寫這篇部落格只是給一些初學者乙個方便的整理而已。下面會先給出完整的使用情況,在到後面分別解釋兩者的用法。以方便只關心這個用法或者趕時間的朋友。處於保密性考慮,我將大部分字段...

MyBatis Plus 分頁 排序聯合使用

其實兩者聯合使用非常簡單,只需要在使用分頁外掛程式的基礎上使用其提供的orderbydesc orderbyasc就能完美融合。寫這篇部落格只是給一些初學者乙個方便的整理而已。下面會先給出完整的使用情況,在到後面分別解釋兩者的用法。以方便只關心這個用法或者趕時間的朋友。處於保密性考慮,我將大部分字段...

mybatis plus 聯合查詢

在xml中只需要需要寫如下的 即可實現分頁 select from user where name like concat 呼叫方法 分頁外掛程式 public static void testpagelistuser 貢獻一波自己的 1 呼叫 pagepage new page current,l...