第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

多表的分頁查詢

我這里有兩張表,user-用戶表(id,name,manager_id,dept_id),department-部門表,我需要查詢的數(shù)據(jù)是,人員名稱,人員所在部門名稱這樣的信息;

實體: user,department,userVo(user,和deparment對象)

mapper:

public?IPage<UserVo>?selectUserVoByPage(Page<UserVo>?page,?@Param(Constants.WRAPPER)Wrapper<UserVo>?wrapper);

mapper xml:

<select?id="selectUserVoByPage"?resultType="UserVo">
????select?a.id?as?"user.id",
???????????a.name?as?"user.name",
???????????b.id?as?"department.id",
???????????b.name?as?"department.name"
????from?user?a
?????????????left?join?department?b?on?b.id?=?a.dept_id
?????${ew.customSqlSegment}
</select>

分頁查詢:

Page<UserVo>?page1?=?new?Page<UserVo>(1,?5);
QueryWrapper<UserVo>?userVoWrapper?=?Wrappers.<UserVo>query();
userVoWrapper.like("a.name",?"王");
userVoWrapper.gt("a.age",?20);
userVoWrapper.like("b.name",?"信息部");
IPage<UserVo>?userVoIPage?=?userMapper.selectUserVoByPage(page1,?userVoWrapper);
List<UserVo>?userVoList?=?userVoIPage.getRecords();
userVoList.forEach(System.out::println);

返回結(jié)果:

Preparing:?SELECT COUNT(1) FROM user a LEFT JOIN department b ON b.id = a.dept_id WHERE a.name LIKE ? AND a.age > ? AND b.name LIKE ??

Parameters:?%王%(String), 20(Integer), %信息部%(String)

Preparing:?select a.id as "user.id", a.name as "user.name", b.id as "department.id", b.name as "department.name" from user a left join department b on b.id = a.dept_id WHERE a.name LIKE ? AND a.age > ? AND b.name LIKE ? LIMIT ?,??

Parameters:?%王%(String), 20(Integer), %信息部%(String), 0(Long), 5(Long)

UserVo(user=User(id=2, name=王天風, age=null, email=null, managerId=null, createTime=null, deptId=null, remark=null, remark3=null), department=Department(id=2, name=信息部-開發(fā)一部))


這樣可以實現(xiàn)多表關(guān)聯(lián)的分頁查詢,再優(yōu)化下mapper里邊的select查詢列,和外鏈接多表,會更好點。

正在回答

1 回答

這查詢用*是真的不好,不要學

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

多表的分頁查詢

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號