spring boot和mybatis集成分页插件
程序员文章站
2024-03-31 12:59:34
mybatis提供了拦截器接口,我们可以实现自己的拦截器,将其作为一个plugin装入到sqlsessionfactory中。
首先要说的是,spring在依赖注入be...
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集成分页插件
-
mybatis分页和PageHelper插件的使用
-
MyBatis中乐观锁插件和分页插件的使用
-
Spring3.1.1+MyBatis3.1.1的增、删、查、改以及分页和事务管理
-
Spring3.1.1+MyBatis3.1.1的增、删、查、改以及分页和事务管理
-
Spring Boot 集成Mybatis实现主从(多数据源)分离方案示例
-
Spring Boot 集成Mybatis实现主从(多数据源)分离方案示例
-
Spring Boot 集成MyBatis 教程详解
-
Spring Boot集成MyBatis的方法
-
Spring Boot集成MyBatis访问数据库的方法