MyBatis-Plus 2.1.9 + MyBatis 3.4.5 分页查询实现 - Java Mapper.java & Mapper.xml 示例
MyBatis-Plus 2.1.9 + MyBatis 3.4.5 分页查询实现 - Java Mapper.java & Mapper.xml 示例
本文提供使用 MyBatis-Plus 2.1.9 和 MyBatis 3.4.5 实现分页查询的完整示例,包括 Mapper.java 和 Mapper.xml 文件代码。示例展示了如何继承 BaseMapper,接收分页参数和查询条件,以及使用动态 SQL 生成 SQL 语句。
Mapper.java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface UserMapper extends BaseMapper<User> {
/**
* 分页查询用户列表
* @param page 分页参数
* @param name 用户名字
* @return 用户列表
*/
IPage<User> selectUserPage(Page<User> page, @Param('name') String name);
}
Mapper.xml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE mapper
PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN'
'http://mybatis.org/dtd/mybatis-3-mapper.dtd'>
<mapper namespace='com.example.mapper.UserMapper'>
<!-- 分页查询用户列表 -->
<select id='selectUserPage' resultMap='userMap'>
select * from user
<where>
<if test='name != null and name != '''>
and name like concat('%', #{name}, '%')
</if>
</where>
</select>
</mapper>
说明
Mapper.java继承自BaseMapper,简化了 MyBatis 基本的增删改查操作。selectUserPage方法接收Page<User>分页参数和String name查询条件,返回IPage<User>分页结果。Mapper.xml中使用了 MyBatis 动态 SQL 的if标签,根据查询条件动态生成 SQL 语句。使用resultMap='userMap'返回User对象列表。
原文地址: https://www.cveoy.top/t/topic/onq9 著作权归作者所有。请勿转载和采集!