mybatis 注解 动态sql所遇之坑

         相信很多同学很少遇见这种,也很少用到这种,因为这种写法有点恶心。但是遇到了就要解决啊,网上搜了一堆,都是int,不知道是有意还是无意的,例子如下: 

@Select("")
public List custom(@Param("companyId")Long companyId,@Param("typeId")Integer typeId,@Param("num")Integer num);

这样写是完全没问题的,但是,但是,但是,重要的事情说三遍,如果字段类型是string了怎么办。为什么说这种写法恶心,就源于字符串里面拼xml,相信大家被xml里的很多特殊字符坑过,这里就不多说了,直接上正确写法:

@Select("")
public List custom(@Param("companyId")Long companyId,@Param("dbtype")String dbtype,@Param("num")Integer num);

Ps:test里面的字符串的双引号要转义,不要想着用单引号,我试过了,错的。。。

好了就给大家分享到这里。gl。

 

你可能感兴趣的:(mybatis)