Mybatis 一對多分頁資料條數不正確處理方式

2021-10-25 10:34:17 字數 1730 閱讀 5455

今天在進行一對多的left join處理的時候發現分頁的資料量不正確,後來把列印的sql去資料庫執行,查詢出來的確實是10條

1在xml裡進行更改collection的對映

"usermap" type=

"com.abc.entity.sysuser"

>

"uid" column=

"uid"

/>

"uname" column=

"uname"

/>

"nick" column=

"nick"

/>

"pwd" column=

"pwd"

/>

"salt" column=

"salt"

/>

"lock" column=

"lock"

/>

"created" column=

"created" jdbctype=

"timestamp"

/>

"updated" column=

"updated" jdbctype=

"timestamp"

/>

<

/resultmap>

<

!-- 一對多:user、role --

>

"userincluderolesmap" extends=

"usermap" type=

"com.abc.entity.sysuser"

>

"rolelist" column=

"uid" select=

"queryuserroles"

>

<

/collection>

<

/resultmap>

2.關聯查詢

"queryuserroles" resulttype=

"com.abc.entity.sysrole"

>

select

r.rid as rid,

r.rname as rname,

r.rdesc as rdesc,

r.rval as rval,

r.created as created,

r.updated as updated

from sys_user_role ur

left join sys_role r on ur.role_id = r.rid

where ur.user_id= #

<

/select>

"selectuserincluderoles" resultmap=

"userincluderolesmap"

>

select

u.* from sys_user u

<

if test=

"uname != null and uname != ''"

>

u.`uname` like concat

('%',#,

'%')

>

<

/where>

order by u.uid

<

/select>

主要就是把collection的對映資料拿乙個子查詢去對映,column就是從表要關聯主表的那個字段

iBatis一對多 分頁詳解

ibatis分頁詳解 相關配置 1.ibatis version 2.3.4.2.資料庫是oracle 12g.3.前端js為ext.js 3.3.2 分頁sql 1.count 查詢 select count from preordertds page temp 2.result查詢 select...

mybatis 一對多 pagelper 分頁問題

select goods.id,goods.goods no,goods.goods img,goods.goods sale,goods.goods title,goods.create time,goods.update time,goods.category one,goods.categor...

mybatis包含一對多的分頁查詢問題

在業務中,有時需要使用 left join 進行聯表查詢,並且需要用手動進行 limit 分頁查詢,可mybatis是先分頁查詢後對映資料結構,比如需要分10條記錄一頁時,資料庫查出的 10 條結果在經過 mybaits 對映結果後返回到前端的記錄可能沒有 10 條,而導致前端頁面顯示不正常。這是因...