mybatis和sql经验笔记

本文分享了MySQL使用中的一些常见误区与技巧,包括LIMIT的正确理解和使用、LEFT JOIN的注意事项,以及如何处理MyBatis中COUNT查询可能引发的空指针异常等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       最近在做一个小项目,之前涉及的是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>
       以上纯粹是个人工作笔记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值