mysql动态SQL用法

        顾名思义“动态”SQL就是不固定的SQL,根据不同的条件把SQL语句进行拼接,来实现对数据库更加精准的操作。可以通过配置文件或者注解的形式实现,多用于多条件联查。

        xml版(配置文件):

                xml版的动态SQL       接口中的方法名要和配置文件中的id名一样必须是唯一的。在调接口的时候自动会调用对应id 的这个SQL语句,出参和入参的类型必须要和接口中的出参入参类型一样。        

 mysql动态SQL用法_第1张图片

         xml版常用的元素:

                if元素:单条件判断

mysql动态SQL用法_第2张图片

                choose元素:多条件判断

mysql动态SQL用法_第3张图片         trim元素:万能标签

                 prefix:前缀   

                          prefixOverrides:去掉第一个and或者是or   

                                suffix:后缀 

                                           suffixOverrides:去掉最后一个逗号,也可以是其他的标记

mysql动态SQL用法_第4张图片

mysql动态SQL用法_第5张图片                 foreach元素:循环语句

                        collection:可用通过@Param注解指定参数名,参数List
                                item:参数调用名称,参数List的单个值
                                        open:在循环前添加前缀
                                                close:在循环后添加后缀
i                                                        ndex:索引、下标mysql动态SQL用法_第6张图片

        like模糊查询:五种模糊查询的方式

mysql动态SQL用法_第7张图片 

         注解版:注解版相对于xml版对我个人来说感觉就是更适合搞一些简单的增删改查,过于复杂的语句会让书写难度大大的提升,而且注解版依旧硬编码问题严重  注解版方法调用的是距离最近的一个SQL语句

mysql动态SQL用法_第8张图片

              两个写法无论可以先专精一个然后再去适应第二个  到两个都得心应手的时候两个随意切换也不失为一种快乐。

 

 

你可能感兴趣的:(sql)