Mybatis笔记

冷暖自知 提交于 2020-03-09 06:51:28

###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访问任何的表都会报错。所以不能把问题局限在某个方法。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!