mybatis和sql经验笔记

来源:互联网 发布:手机截动图软件 编辑:程序博客网 时间:2024/06/01 09:16

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

0 0