比较简单篇:众所周知,Mybatis支持动态标签编写sql,编写简单sql时方式简单的不要不要的,但是当遇到复杂的sql语句时遇到的坑就比较难受了:
坑点1:if 标签下 < 号会出错!!!识别不了识别不了
所以必须转换
> 对应 >
>= 对应 >=
< 对应 <(会报错 相关联的 "test" 属性值不能包含 '<' 字符)
<= 对应 <=(会报错 相关联的 "test" 属性值不能包含 '<' 字符)
注:转义字符 总是在你最需要的时候出现
坑点2:当需要用到注解 去写动态标签时,需要加上<script></script> 标签,不然也会报错
坑点3: 编写注解动态sql时 有俩种方式
1.坑2所述 添加script标签写就好了,此举写的话 坏处就是 后面做扩容或修改比较麻烦,因为一大串字符串 不是那么容易改动的
2.使用mybatis提供的 SqlProvider方法,进行定制化语句编写,有点就是灵活,分解性强,坏处就是 又要多写一个方法!