最近在做一个小项目,之前涉及的是SAAS项目都是用mongodb,用spring-data,所以封装比较好,语句很少写。之前的mybatis的语句也是比较简单都是两个表关联把mysql的语句忘的七七八八。所以这次项目就把mysql的拿起来。
1.limit
之前一直把limit理解错了,就是limit a,b。一直以为是第a条到第b条,其实是错的。是从第a条开始,取b条。
对比一下mongodb,limit(b)也是取b条的意思。而mongodb在find的时候还有一个skip()的方法,就是跳过几条,也能达到分页的效果!
2.left join
如果有三张表需要left join ,写法是 select * from (a left join b on a.bId=b.id) left join c on a.cId=c.id)。left join是要注意那张是主表,上面例子是a是主表,所以c left join的时候是left join a,如果你left join的是b,你就会发现出来数据条数往往不是你期望的。
3.mybatis的count返回值空指针
mybatis的count返回值配置的是Integer的话,如果一旦查询为空时,返回值为null。会报空指针,所以在count返回值的时候,要记得判空,一旦空了,就给负值0。
<select id="countGoods" resultType="Integer" parameterType = "java.util.Map">
</select> 以上纯粹是个人工作笔记。
MySQL与MyBatis实战技巧
本文分享了MySQL使用中的一些常见误区与技巧,包括LIMIT的正确理解和使用、LEFT JOIN的注意事项,以及如何处理MyBatis中COUNT查询可能引发的空指针异常等问题。
2314

被折叠的 条评论
为什么被折叠?



