###1. 关于插件PageHelper
在使用PageHelper.offsetPage时候,不分页的问题。
是因为这句话必须放在需要分页的数据库查询之前。
即 在使用这句话后,下一个且只有下一个数据查询会被分页。
因为这个问题今天查了好久,代码改了好多次。
//即
PageHelper.offsetPage(pageIndex.getStart(), pageIndex.getCount());
List<Category> cs = categoryService.getCategoryList();
谨防放在某个Service里,一定要检查Service里是否第一个查询是目标对象。今天遇到的问题就是这样。
ReviewExample re = new ReviewExample();
if(user!=null && articleUser.getId() == user.getId()) {
re.createCriteria().andArticle_idEqualTo(articleID);
} else {
reviewExmpleByUser(user,re);
List<ReviewExample.Criteria> rel = re.getOredCriteria();
for(ReviewExample.Criteria c:rel) {
c.andArticle_idEqualTo(articleID);
}
}
List<Review> rs = reviewMapper.selectByExampleWithBLOBs(re);
结果因为这个分页失败。
###2. 关于添加mapper xml的文件
今天添加了个mapper xml的查询方法,发现进行任何的mybatis操作都会出现下个错误。
Could not find result map java.lang.Integer
我只是添加了以下方法
//<select id="selectCountByArticleKey" parameterType="java.lang.Integer" resultMap="java.lang.Integer">
<select id="selectCountByArticleKey" parameterType="java.lang.Integer" resultType="java.lang.Integer">
select
count(*)
from review
where article_id = #{id,jdbcType=INTEGER}
</select>
这里要区分 resultType 和 resultMap,Map 类型是类型。不然报错
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.lang.Integer
一旦xml配置有错,mybatis访问任何的表都会报错。所以不能把问题局限在某个方法。