引言
正如我们所知在mapper文件中用注解的方式写一些普通的查询,删除sql语句格式都相对简单,而且一般我们如果有动态sql需要的话,可以采用把sql写在xml文件,然后根据Mapper内方法id进行匹配,实现我们复杂的查询或者循环添加等操作。
但是,本人经历过公司同意要求把sql用注解的方式进行编写,当中不乏一些动态sql的编写,在此做个小总结,希望对大家有帮助。
首先如果注解写动态sql的话会用到<script> </scrpit>
标签 ! 大家切记 !
代码展示
多条件查询以及分页低配版(返回List集合)
@Select({
"<script> SELECT * FROM user WHERE " +
"<if test= "mobile != null and mobile != ''"> mobile = #{mobile} </if>" +
"<if test= "star != null and star != ''"> AND star=#{star} </if>" +
"<if test ='startTime != null '> AND UNIX_TIMESTAMP(update_time) >= #{startTime} </if>" +
"<if test ='endTime != null '> AND UNIX_TIMESTAMP(update_time) <= #{endTime} </if>" +
"<if test="count > 0"> LIMIT #{offset}, #{count} </if> </script&