java中page,Mybatis-Pagehelper

 2023-10-15 阅读 28 评论 0

摘要:1.POM文件 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.1</version> </dependency> 2.寫配置類 import java.util.Properties;import javax.sql.DataSource;i
1.POM文件
<dependency>  <groupId>com.github.pagehelper</groupId>  <artifactId>pagehelper</artifactId>  <version>4.1.1</version>  
</dependency>
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
@EnableTransactionManagement
public class MybatisConfig implements TransactionManagementConfigurer {@AutowiredDataSource dataSource;@Bean(name = "sqlSessionFactory")public SqlSessionFactory sqlSessionFactoryBean() {SqlSessionFactoryBean bean = new SqlSessionFactoryBean();bean.setDataSource(dataSource);PageHelper pageHelper = new PageHelper();Properties props = new Properties();//分頁參數合理化,個人建議用默認的falseprops.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;}@Beanpublic SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {return new SqlSessionTemplate(sqlSessionFactory);}@Bean@Overridepublic PlatformTransactionManager annotationDrivenTransactionManager() {return new DataSourceTransactionManager(dataSource);}
}
3.Controller中寫法
@ResponseBody@PostMapping("/list")public List<Entity> getLastData() {//調用startPage方法//注意第一個參數,不能是0,否則無法查到數據PageHelper.startPage(1, 5, true, false);//表示當前第1頁,每頁五條,假如一共11頁,那么超過11頁,數據則顯示空PageHelper.startPage(1, 5);//表示當前第1頁,每頁五條,假如一共11頁,那么超過11頁,數據則顯還是第11頁//這里直接寫查詢方法即可,別的不需要管List<Entity> datas = mapper.findLastData(userId);//查詢完畢之后Page<Entity> pageMsg = (Page<Entity>) datas;//如果不額外配置上面的mybatisConfig類,下面寫法也可以PageInfo<Entity> pageMsg = new PageInfo<>(datas);//到此,pageMsg上述兩種都可以的pageMsg.getTotal();pageMsg.getPages();pageMsg.getPageSize();return datas;}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/137052.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息