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 分页参数和 String name 查询条件,返回 IPage 分页结果。
  3. Mapper.xml 中使用了 MyBatis 动态 SQL 的 if 标签,根据查询条件动态生成 SQL 语句。使用 resultMap="userMap" 返回 User 对象列表

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

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