MybatisPlus 多表分页关联查询
今天使用mybatis plus进行多表分页查询,通过查阅资料,掌握了基本操作,如下:
我这里提供的是mybatis plus 和 xml配置文件结合的方式: 直接从service层开始写:
//这是service层,多表分页的简单逻辑处理,重点是IPage 和 Map,
// IPage 就是分页,把分页的参数传进来进行使用
// Map 是用来传参数使用的,携带你需要的参数
IPage<User> iPage = new Page<>(pageNum, pageSize);
Map map=new HashMap();
map.put("role_id", roleId);
IPage<User> usersFromRole = userMapper.getUsersFromRole(iPage, map);
Dao
// service中传过来的两个参数,注意 map的使用
IPage<User> getUsersFromRole(IPage<User> page, @Param("map") Map map);
Mapper.xml
<--这里同样注意map的使用--!>
<select id="getUsersFromRole" resultMap="BaseResultMap">
SELECT u.*
FROM sys_user_role c, sys_user u
WHERE c.user_id = u.id AND c.role_id = #{map.role_id}
</select>
我这个分页多表查询是mybatis plus 配合 xml文件使用的,主要就是在配置文件中写sql联查语句,然后通过map将不同表的参数传递进来,进行联查。分页会在IPage中的条件进行拼接到SQL中。
