博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis-Pagehelper
阅读量:4304 次
发布时间:2019-05-27

本文共 2939 字,大约阅读时间需要 9 分钟。

1.POM文件
com.github.pagehelper
pagehelper
4.1.1
2.写配置类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@EnableTransactionManagementpublic class MybatisConfig implements TransactionManagementConfigurer { @Autowired DataSource dataSource; @Bean(name = "sqlSessionFactory") public SqlSessionFactory sqlSessionFactoryBean() { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); PageHelper pageHelper = new PageHelper(); Properties props = new Properties(); //分页参数合理化,个人建议用默认的false props.setProperty("reasonable", "true"); props.setProperty("supportMethodsArguments", "true"); props.setProperty("returnPageInfo", "check"); props.setProperty("params", "count=countSql"); pageHelper.setProperties(props); bean.setPlugins(new Interceptor[] { pageHelper }); //如果spring boot的sql语句是在xml里,则需要加下面两行代码 PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); bean.setMapperLocations(resolver.getResources("classpath:com/xx/xx/xx/*.xml")); //两行代码结束,请注意,如果此处加这两行代码,那么application.properties文件中不要再配置mybatis相关配置了,比如setMapperLocations这些属性什么的,此处不加这两行代码,才需要在properties文件中配置 try { return bean.getObject(); } catch (Exception e) { e.printStackTrace(); } return null; } @Bean public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } @Bean @Override public PlatformTransactionManager annotationDrivenTransactionManager() { return new DataSourceTransactionManager(dataSource); }}3.Controller中写法@ResponseBody @PostMapping("/list") public List
getLastData() { //调用startPage方法 //注意第一个参数,不能是0,否则无法查到数据 PageHelper.startPage(1, 5, true, false);//表示当前第1页,每页五条,假如一共11页,那么超过11页,数据则显示空 PageHelper.startPage(1, 5);//表示当前第1页,每页五条,假如一共11页,那么超过11页,数据则显还是第11页 //这里直接写查询方法即可,别的不需要管 List
datas = mapper.findLastData(userId); //查询完毕之后 Page
pageMsg = (Page
) datas; //如果不额外配置上面的mybatisConfig类,下面写法也可以 PageInfo
pageMsg = new PageInfo<>(datas); //到此,pageMsg上述两种都可以的 pageMsg.getTotal(); pageMsg.getPages(); pageMsg.getPageSize(); return datas; }

转载地址:http://rvhws.baihongyu.com/

你可能感兴趣的文章
HDU2196(SummerTrainingDay13-D tree dp)
查看>>
C++类的构造函数
查看>>
JavaScript基础——理解变量作用域
查看>>
第三周总结
查看>>
HTML5视频字幕与WebVTT
查看>>
CentOS 7 安装Docker
查看>>
.net 字符串驻留
查看>>
SpringBoot+MybatisPlus实现批量添加的两种方式
查看>>
vue 设计结构
查看>>
Sqlerver2005+按照ID分组取前几条
查看>>
php异常处理
查看>>
mac上安装glfw
查看>>
vue 父子传值,子页面没有实时刷新的问题
查看>>
Python的编码和解码
查看>>
docker
查看>>
停车场系统安全岛设计施工要求
查看>>
Docker实战
查看>>
asp.net core结合Gitlab-CI实现自动化部署
查看>>
RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.7 版本发布
查看>>
EasyNVR H5无插件摄像机直播解决方案前端解析之:关于直播页面和视频列表页面切换的问题...
查看>>