这期内容当中小编将会给大家带来有关利用mybatis +进行分页查询时出现总与页面的值为零如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
<强>一。问题还原强>
1。控制器代码部分
Page
pageForPlus=getPage (); Page
引用>fixedAssetsEntityPage=fixedAssetsService.selectPage (pageForPlus); 2. spring-mybatis。xml中的sqlSessionFactory配置
, & lt; bean id=皊qlSessionFactory" 类,,=癱om.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean"比; & lt; !——,才能配置数据源,——比; & lt;才能property name=癲ataSource", ref=癲ataSource",/比; & lt; !——,才能自动扫描,Xml 文件位置,——比; & lt;才能property name=癿apperLocations",价值=https://www.yisu.com/zixun/" classpath *:映射/* */* . xml "/> <属性name=value=癱onfigLocation类路径:mybatis-config。xml "/> <属性name=value=皌ypeAliasesPackage com.syb.dto com.syb.sys。实体"/> - -> <属性名=" globalConfig“ref=" globalConfig "/> 豆>打断点查看fixedAssetsEntityPage,记录条目正确,但总数是和页面都是0
<强>二。解决强>
查阅官方文档发现,缺少了分页插件的配置,在sqlSessionFactory中添加分页插件,添加后为
& lt; bean id=皊qlSessionFactory" 类,,=癱om.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean"比; & lt; !——,才能配置数据源,——比; & lt;才能property name=癲ataSource", ref=癲ataSource",/比; & lt; !——,才能自动扫描,Xml 文件位置,——比; & lt;才能property name=癿apperLocations",价值=https://www.yisu.com/zixun/" classpath *:映射/* */* . xml "/> <属性name=value=癱onfigLocation类路径:mybatis-config。xml "/> <属性name=value=皌ypeAliasesPackage com.syb.dto com.syb.sys。实体"/> - -> <属性名="插件"> <数组><属性名=" dialectType " value=" mysql "/> 豆> 数组> 属性 <属性名=" globalConfig“ref=" globalConfig "/> 豆> 运行程序,打断点查看,总和页面已经正常显示
<强>补充知识:强> <强> mybatisPlus分页查询多次查到相同数据的问题强>
<强>一、问题描述强>
使用mybatisPlus 3.1.0,在同一个方法内,多次调用同一个方法进行分页查询,每次查询的分页页码递增,结果每次查到的数据都一样。
<强>二、相关知识:mybatis一级缓存强>
mybatis存在缓存机制,查询到的数据会纳入缓存,同一sqlSession共享的叫一级缓存。默认情况下,mybatis会使用一级缓存
会取一级缓存的条件:
1,同一个sqlSession
2,同一个映射器方法
3,参数没有发生变化
<强>三,问题原因强>
mybatis判断是否需要使用一级缓存的代码,早于mybatisPlus分页插件拦截的代码执行(分页代码早一点执行,才有机会将分页参数也作为是否取缓存的依据)
附图:
<强>四,解决办法强>
在刀。xml对应的选择标签里,增加属性flushCache=皌rue"
利用mybatis +进行分页查询时出现总与页面的值为零如何解决