MyBatis-Plus 分页插件

分页配置

1.spring xml方式

<!-- spring xml 方式 -->
<property name="plugins">
    <array>
        <bean class="com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor">
            <property name="sqlParser" ref="自定义解析类、可以没有"/>
            <property name="dialectClazz" value="自定义方言类、可以没有"/>
            <!-- COUNT SQL 解析.可以没有 -->
            <property name="countSqlParser" ref="countSqlParser"/>
        </bean>
    </array>
</property>

<bean id="countSqlParser" class="com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize">
    <!-- 设置为 true 可以优化部分 left join 的sql -->
    <property name="optimizeJoin" value="true"/>
</bean>

2.spring boot方式

@EnableTransactionManagement
@Configuration
@MapperScan("com.ljj.dao")
public class MybatisPlusConfig {

    @Bean
    public PaginationInterceptor paginationInterceptor(){
        PaginationInterceptor interceptor = new PaginationInterceptor();
        // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false
        // paginationInterceptor.setOverflow(false);
        // 设置最大单页限制数量,默认 500 条,-1 不受限制
        interceptor.setLimit(5);
        // 开启 count 的 join 优化,只针对部分 left join
        interceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return interceptor;
    }
}

xml自定义分页

UserDao .java

@Component
public interface UserDao {
    IPage<User> selectPageVo(Page<?> page,String realName);
}

UserMapper.xml

    <select id="selectPageVo" resultType="User">
	SELECT * FROM user where real_name = #{realName}
    </select>

使用

        Page<User> page = new Page<>(1, 10);
        IPage<User> iPage = userDao.selectPageVo(page,"王昭君");
发布了29 篇原创文章 · 获赞 0 · 访问量 373

猜你喜欢

转载自blog.csdn.net/qq_43399077/article/details/104061786