Mybatis笔记

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值