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中。

经验分享 程序员 微信小程序 职场和发展