全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

spring boot和mybatis集成分页插件

MyBatis提供了拦截器接口,我们可以实现自己的拦截器,将其作为一个plugin装入到SqlSessionFactory中。
首先要说的是,Spring在依赖注入bean的时候,会把所有实现MyBatis中Interceptor接口的所有类都注入到SqlSessionFactory中,作为plugin存在。既然如此,我们集成一个plugin便很简单了,只需要使用@Bean创建PageHelper对象即可。

1、添加pom依赖

<dependency>
 <groupId>com.github.pagehelper</groupId>
 <artifactId>pagehelper</artifactId>
 <version>4.1.0</version>
</dependency>

2、MyBatisConfiguration.java类配置

package com.example.mybatis;

import java.util.Properties;

import javax.sql.DataSource;

import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.annotation.TransactionManagementConfigurer;

import com.github.pagehelper.PageHelper;

@Configuration
//加上这个注解,使得支持事务
@EnableTransactionManagement
public class MyBatisConfig implements TransactionManagementConfigurer {
 @Autowired
 private DataSource dataSource;
 
 @Override
 public PlatformTransactionManager annotationDrivenTransactionManager() {
  return new DataSourceTransactionManager(dataSource);
 }
 
 @Bean(name = "sqlSessionFactory")
 public SqlSessionFactory sqlSessionFactoryBean(PageHelper pageHelper) {
  SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
  bean.setDataSource(dataSource);

   //自定义数据库配置的时候,需要将pageHelper的bean注入到Plugins中,如果采用系统默认的数据库配置,则只需要定义pageHelper的bean,会自动注入。  

   bean.setPlugins(new Interceptor[] { pageHelper });
  try {
   return bean.getObject();
  } catch (Exception e) {
   e.printStackTrace();
   throw new RuntimeException(e);
  }
 }

 @Bean
 public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
  return new SqlSessionTemplate(sqlSessionFactory);
 }
 
 @Bean
 public PageHelper pageHelper() {
  PageHelper pageHelper = new PageHelper();
  Properties p = new Properties();
  p.setProperty("offsetAsPageNum", "true");
  p.setProperty("rowBoundsWithCount", "true");
  p.setProperty("reasonable", "true");
  p.setProperty("dialect", "mysql");
  pageHelper.setProperties(p);
  return pageHelper;
 }
}

3、分页查询测试

 @RequestMapping("/likename")
 public List<Student> likeName(@RequestParam String name){
  PageHelper.startPage(1, 1);
  return stuMapper.likeName(name);
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# spring  # boot  # mybatis  # 分页  # springboot集成mybatisplus实例详解  # SpringBoot项目集成依赖Mybatis步骤  # Spring Boot集成MyBatis实现通用Mapper的配置及使用  # 详解springboot集成mybatis xml方式  # SpringBoot集成MyBatis的分页插件PageHelper实例代码  # 详解Spring Boot集成MyBatis(注解方式)  # SpringBoot集成Mybatis过程步骤图解  # 只需要  # 自己的  # 的是  # 拦截器  # 将其  # 很简单  # 自定义  # 作为一个  # 可以实现  # 会把  # 既然如此  # 大家多多  # package  # import  # Properties  # util  # version  # artifactId 


相关文章: 如何选购建站域名与空间?自助平台全解析  制作国外网站的软件,国外有哪些比较优质的网站推荐?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  如何使用Golang table-driven基准测试_多组数据测量函数效率  网站网页制作专业公司,怎样制作自己的网页?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  如何通过网站建站时间优化SEO与用户体验?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  Swift开发中switch语句值绑定模式  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  建站主机是什么?如何选择适合的建站主机?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  如何用y主机助手快速搭建网站?  h5网站制作工具有哪些,h5页面制作工具有哪些?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  详解jQuery停止动画——stop()方法的使用  大型企业网站制作流程,做网站需要注册公司吗?  建站之星各版本价格是多少?  如何在腾讯云免费申请建站?  代购小票制作网站有哪些,购物小票的简要说明?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  如何挑选最适合建站的高性能VPS主机?  网站制作新手教程,新手建设一个网站需要注意些什么?  免费网站制作appp,免费制作app哪个平台好?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  建站主机功能解析:服务器选择与快速搭建指南  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  如何零基础在云服务器搭建WordPress站点?  建站之星如何实现PC+手机+微信网站五合一建站?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  如何快速上传自定义模板至建站之星?  广东企业建站网站优化与SEO营销核心策略指南  如何在Windows 2008云服务器安全搭建网站?  XML的“混合内容”是什么 怎么用DTD或XSD定义  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  ui设计制作网站有哪些,手机UI设计网址吗?  网站制作服务平台,有什么网站可以发布本地服务信息?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  深入理解Android中的xmlns:tools属性  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  视频网站app制作软件,有什么好的视频聊天网站或者软件?  独立制作一个网站多少钱,建立网站需要花多少钱?  音响网站制作视频教程,隆霸音响官方网站?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  怀化网站制作公司,怀化新生儿上户网上办理流程?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  建站之星官网登录失败?如何快速解决?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何在IIS7中新建站点?详细步骤解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。