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>

说明

  1. Mapper.java 继承自 BaseMapper,简化了 MyBatis 基本的增删改查操作。
  2. selectUserPage 方法接收 Page<User> 分页参数和 String name 查询条件,返回 IPage<User> 分页结果。
  3. Mapper.xml 中使用了 MyBatis 动态 SQL 的 if 标签,根据查询条件动态生成 SQL 语句。使用 resultMap='userMap' 返回 User 对象列表。

原文地址: https://www.cveoy.top/t/topic/onq9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录